В недавних обновлениях добавили обработчик OnCustomXmlCategory, который позволяет добавлять собственные атрибуты в тег <category>.

Рассмотрим добавление своего атрибута picture для вывода изображения картинки категории.

Прежде всего, необходимо в настройках профиля в XML категории добавить новый атрибут:
<category id="#ID#" parentId="#PARENT_ID#" picture="#PICTURE#">#NAME#</category>

Далее, необходимо добавить обработчик на сайте:


# В произвольном XML добавить свои атрибуты в <category> # Пример: #NAME#
addEventHandler('acrit.exportproplus', 'OnCustomXmlCategory', function($plugin, $sectionId, $category, &$replace){ # Задаём «заготовку» для значения, это обязательно чтобы при пустых значениях в XML не осталось #PICTURE# $replace['#PICTURE#'] = null; # Задаём ID профилей, для которых необходимо категориям добавить вывод картинок $profilesId = [4]; if($profile = $plugin->getProfileArray()){ if(in_array($profile['ID'], $profilesId)){ $profile = $plugin->getProfileArray(); # Ищем текущий раздел по его ID ($sectionId) if($section = \CIBlockSection::getList([], ['ID' => $sectionId], false, ['ID','PICTURE'])->fetch()){ if($section['PICTURE']){ # Определяем относительный путь к картинке $replace['#PICTURE#'] = \Acrit\Core\Helper::siteUrl($profile['DOMAIN'], $profile['IS_HTTPS'] == 'Y', \CFile::getPath($section['PICTURE'])); } } } } });

В обработчике необходимо подкорректировать ID нужных профилей, чтобы обработчик действовал только для них (в примере это профили 12, 15 и 23).



Возврат к списку