Пример использования SetViewTarget в Bitrix
Категория: Разработка сайтов
Комментарии: 0
Рассмотрим как передать поля детального элемента bitrix в основной шаблон сайта, например, шапку или подвал. Это может потребоваться для вывода в «head.php» микроразметки «Open Graph» статей или новостей. Рассмотрим пример реализации с использованием контейнера.
В шаблоне детального элемента компонента создаём контейнер «OPEN_GRAPH» и передаём в него нужную информацию:
<?$this->SetViewTarget('OPEN_GRAPH');?> <meta property="og:type" content="article" /> <meta property="og:title" content="<?=$arResult["IPROPERTY_VALUES"]["ELEMENT_META_TITLE"]?>" /> <meta property="og:description" content="<?=$arResult["IPROPERTY_VALUES"]["ELEMENT_META_DESCRIPTION"]?>" /> <meta property="og:url" content="<?=$arResult["DETAIL_PAGE_URL"]?>" /> <meta property="og:image" content="<?=$arResult["PREVIEW_PICTURE"]["SRC"]?>" /> <meta property="og:image:width" content="<?=$arResult["PREVIEW_PICTURE"]["WIDTH"]?>" /> <meta property="og:image:height" content="<?=$arResult["PREVIEW_PICTURE"]["HEIGHT"]?>" /> <?$this->EndViewTarget();?>
В основном шаблоне сайта выводим содержимое контейнера:
<?$APPLICATION->ShowViewContent("OPEN_GRAPH");?>
Если требуется обновить контейнер, то примените функцию «AddViewContent»:
<?$APPLICATION->AddViewContent('OPEN_GRAPH', '');?>
Так просто можно передать поля элемента в любое место шаблона.