После решения задачи, хочется рассказать об этом
В этой статье я расскажу, как настроить вывод seo meta теги для сайта на битрикс из настроек инфоблока и включенных в него разделов и элементов соответственно. Для комплексных компонентов вовод мета данных настраивается в параметрах компонента. Мы же рассмотрим, как сделать вывод данных для простых компонентов, где такие параметры отсутствуют.
Создаем файл в шаблоне компонента component_epilog.php Он подключается после того, как сформирован html шаблоном компонента и в него приходят массивы $arResult и $arParams из кэша. Если какие-то параметры не пришли, необходимо их добавить в файле result_modifier.php
global $APPLICATION; $cp = $this->__component; // объект компонента if (is_object($cp)) { // добавим в arResult компонента $cp->arResult['ITEM'] = $arResult["ITEM"]; $cp->SetResultCacheKeys(array('ITEM')); }
Далее в component_epilog.php уже отправляем наши сео мета данные c помощью технологии отложенных функций. Следующую запись нельзя было написать в result_modifier.php, т.к. если у компонента включено кэширование, это попросту не будет работать
if(count($arResult["ITEM"])){ $APPLICATION->SetPageProperty("title", $arResult["ITEM"]["IPROPERTY_VALUES"]["ELEMENT_META_TITLE"]); $APPLICATION->SetPageProperty("description", $arResult["ITEM"]["IPROPERTY_VALUES"]["ELEMENT_META_DESCRIPTION"]); $APPLICATION->SetPageProperty("keywords", $arResult["ITEM"]["IPROPERTY_VALUES"]["ELEMENT_META_KEYWORDS"]); }