В Bitrix для получения SEO-данных элементов и секций инфоблока используется механизм унаследованных свойств (InheritedProperty
).
В стандартном API Bitrix есть классы:
//для элементов инфоблока
\Bitrix\Iblock\InheritedProperty\ElementValues
//для секций инфоблока
\Bitrix\Iblock\InheritedProperty\SectionValues
Эти классы позволяют получать SEO-свойства, унаследованные от родительских разделов или инфоблока.
Используем ElementValues
.
use Bitrix\Iblock\InheritedProperty\ElementValues;
$elementId = 123; // ID элемента
$iblockId = 5; // ID инфоблока
$ipropElementValues = new ElementValues($iblockId, $elementId);
$pageProperties = $ipropElementValues->getValues();
// ELEMENT_PAGE_TITLE — заголовок страницы (он же h1))
// ELEMENT_META_TITLE — мета-тег title
// ELEMENT_META_DESCRIPTION — мета-тег description
// ELEMENT_META_KEYWORDS — мета-тег keywords
Используем SectionValues
.
use Bitrix\Iblock\InheritedProperty\SectionValues;
$sectionId = 10; // ID раздела
$iblockId = 5; // ID инфоблока
$ipropSectionValues = new SectionValues($iblockId, $sectionId);
$pageProperties = $ipropSectionValues->getValues();
// SECTION_PAGE_TITLE — заголовок страницы (h1)
// SECTION_META_TITLE — мета-тег title
// SECTION_META_DESCRIPTION — мета-тег description
// SECTION_META_KEYWORDS — мета-тег keywords