Как убрать «Без имени» в оформлении заказа 1С-Битрикс
Почему в поле ФИО при оформлении заказа появляется фраза «Без имени» в угловых скобках и как убрать её через переопределение языкового файла без правки ядра.
Откуда берётся фраза
Если покупатель зарегистрировался без имени и фамилии, при оформлении заказа Битрикс подставляет в поле ФИО фразу «<Без имени>» из языкового файла ядра. Покупателю приходится стирать её вручную, а часть просто отправляет заказ как есть.
Решение: переопределение языковой фразы
Править файлы ядра нельзя — их перезапишет обновление. В Битриксе для этого есть механизм переопределения фраз:
- Создайте папку
/local/php_interface/user_lang/ru/(или/bitrix/php_interface/user_lang/ru/). - В ней создайте файл
lang.php:
<?php
$MESS['/bitrix/modules/main/lang/ru/classes/general/user.php']['FORMATNAME_NONAME'] = '';
Ключ массива — путь к языковому файлу, где определена фраза, а FORMATNAME_NONAME — её код. Пустая строка убирает фразу из поля.
Если фраза не исчезла
В разных версиях ядра фраза может лежать в другом файле. Найдите его командой в корне сайта:
grep -rl "FORMATNAME_NONAME" bitrix/modules/main/lang/ru/
и подставьте найденный путь (от корня сайта, со слешем в начале) в ключ массива. Затем очистите кеш в админке.
Переопределение через интерфейс
То же можно сделать без файлов: Настройки → Локализация → Перевод, найти фразу FORMATNAME_NONAME и сохранить новое значение. Битрикс сам запишет его в user_lang.