Битрикс, как получить данные из SEO вкладки для раздела

Про мета теги уже было сказано очень многое (даже на этом блоге). Ниже вы увидите ответ на вопрос “как вытащить значения из сео вкладки раздела зная его ID?”.

Как в битриксе получить значения SEO вкладки зная ID раздела

Для того чтобы ответить на этот вопрос и установить свои мета теги нам понадобится знаменитое ядро D7 из недр битрикса:

$SECTION_ID = $sec['ID'];
$IBLOCK_ID = 11;

$ipropSectionValues = new \Bitrix\Iblock\InheritedProperty\SectionValues($IBLOCK_ID, $SECTION_ID);
$arSEO = $ipropSectionValues->getValues();
if ($arSEO['SECTION_META_TITLE'] != false) {
	$APPLICATION->SetPageProperty("title", $arSEO['SECTION_META_TITLE']);
}
if ($arSEO['SECTION_META_KEYWORDS'] != false) {
	$APPLICATION->SetPageProperty("keywords", $arSEO['SECTION_META_KEYWORDS']);
}
if ($arSEO['SECTION_META_DESCRIPTION'] != false) {
	$APPLICATION->SetPageProperty("description", $arSEO['SECTION_META_DESCRIPTION']);
}

В SECTION_ID хранится id раздела инфоблока. Если вы ее получили, идем дальше.
11 – это ID инфоблока, не забудьте заменить его на свой.
При помощи данного кода получаем все доступные свойства, наш массив выглядит приблизительно так:

Array

(

    [SECTION_META_TITLE] => Купить гвозди

    [ELEMENT_META_TITLE] => Купить гвозди 9-дюймовые 

    [SECTION_META_KEYWORDS] => гвозди, купить

    [SECTION_META_DESCRIPTION] => Отличные цены на гвозди в Санкт-Петербурге. Бесплатные пункты выдачи в основных районах СПб.

    [ELEMENT_PAGE_TITLE] => Купить гвозди

    [SECTION_PAGE_TITLE] => 9 дюймов

    [ELEMENT_META_KEYWORDS] => гвозди, купить

)

Дальше, применяем SetPageProperty – не забывайте, в комплексном компоненте новостей и каталога все эти проблемы уже давным давно решены, но, если вы пишите свой компонент или кастомизируете старые, эти методы получения данных при помощи bitrix API могут вам пригодиться.

Если на вашем сайте необходимо вывести мета теги или просто правильно настроить их вывод по формулам, обращайтесь ко мне за помощью.

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

2 коментаря

Залишити коментар до Dmitriy Скасувати коментар