Задать вопрос

Как в 1С Битрикс в выгрузке каталога в яндекс.маркет выгружать заголовок элемента вместо названия?

Возникла такая проблема. В битриксе в модуле выгрузки в яндекс.маркет в качестве названия товара выгружается свойство "название", а нам необходимо сделать так, чтобы выводилось свойство "заголовок элемента" из вкладки SEO
https://yadi.sk/i/0L7n80663M2fEq
В шаблоне, в котором выводится карточка товара, удается обратиться к этому свойству через $arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE']
Но в обработчике маркета ключ ELEMENT_PAGE_TITLE не существует.
  • Вопрос задан
  • 1304 просмотра
Подписаться 3 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
serjazz
@serjazz
developer and dancer
Проще всего кастомизировать файл выгрузки, они расположены по пути /bitrix/php_interface/include/catalog_export/yandex_run.php|yandex_setup.php (если пользуетесь стандартной выгрузкой). Кастомизируете оба файла (называете иначе, но обязательно сохраните постфикс файлов: _run.php _setup.php).

Код формирующий выгрузку содержится в yandex_run.php. (в файле будет содержаться подключаемый файл из ядра, найдите его, и полностью скопируйте код его содержимого себе в кастомизированный файл <вашеназвание>_run.php) . Сам код получения свойств конкретного товара такой
$ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues(
                        $arCurElem["IBLOCK_ID"], // ID инфоблока
                        $arCurElem["ID"] // ID элемента
                    );
$arElMetaProp = $ipropValues->getValues();


Вставить его нужно внутри цикла проходящего по найденным товарам и передать требующиеся значения. (Обратите внимание, что в зависимости от того использует ли каталог торговые предложения или нет, определяется место вставки данного кода). Сам такое не делал, возможно есть более прямые пути, без подзапросов, но это первое что приходит в голову.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы