Как убрать «Без имени» в оформлении заказа 1С-Битрикс

Почему в поле ФИО при оформлении заказа появляется фраза «Без имени» в угловых скобках и как убрать её через переопределение языкового файла без правки ядра.

Откуда берётся фраза

Если покупатель зарегистрировался без имени и фамилии, при оформлении заказа Битрикс подставляет в поле ФИО фразу «<Без имени>» из языкового файла ядра. Покупателю приходится стирать её вручную, а часть просто отправляет заказ как есть.

Решение: переопределение языковой фразы

Править файлы ядра нельзя — их перезапишет обновление. В Битриксе для этого есть механизм переопределения фраз:

  1. Создайте папку /local/php_interface/user_lang/ru/ (или /bitrix/php_interface/user_lang/ru/).
  2. В ней создайте файл 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.

Все статьи

Расскажите о задаче — подберём платформу и оценим работу

Обсудить проект