Изменить имя склада в Битрикс

В стандартном компоненте bitrix:catalog.store.amount поле TITLE вместо возвращение имени склада возвращает комбинацию полей «Имя + (адрес)» собранную из свойство (полей) TITLE и ADDRESS.

При этом, выбрать в настройках компонента ADDRESS, как отдельное поле можно, но он не отобразится из-за ошибочной логики в компоненте, которую никто не спешит исправлять. Исходя из форума, о данной ошибке известно минимум с 2014 года.

Как отобразить ADDRESS

В первую очередь стоит убедиться, что поле Адрес реально заполнено. Если ваши адрекса заполняются, через обмен с 1С, то там зачастую заполнено только название склада, а само поле "Адрес" остаётся пустым.

Как изменить формат названия склада

По умолчанию формат имени выводится, как:

ТОВ "Рога и Копыта" г.Киев, пр-т Свободы 36 (г.Киев, пр-т Свободы 36)

Если не устраивает формат выводимый компонентом, то есть всего два пути - разбирать текущий вывод "регуляркой" (не рассматриваю) или править компонент bitrix:catalog.store.amount

Где искать?

Правим системный компонент или копируем его в /local/components/bitrix/catalog.store.amount/.

Находим component.php и место, где формируется TITLE (там что-то вроде):

$arResult["STORES"][$id]["TITLE"] = $arStore["TITLE"].($arStore["ADDRESS"] ? "(".$arStore["ADDRESS"].")" : "");

Заменяем на нужный формат:

$arResult["STORES"][$id]["TITLE"] = $arStore["TITLE"];
$arResult["STORES"][$id]["ADDRESS"] = $arStore["ADDRESS"];

Получаем логичный NAME без адреса в скобках и ADDRESS там, где он нужен, через

<?=$arProperty["ADDRESS"]?>

Комментарии:

Related posts