SEO оптимізація сьогодні є невід’ємною частиною будь-якого проекту, який бажає просунутися серед різних систем пошуку. Безліч розробників займаються розробкою своїх систем управлінь сайтами врахували цей факт, оснащуючи свої додатки потрібним функціоналом. Не стали винятком і розробники платформи Бітрікс. Починаючи з версії 14.0.0 в модулі Інформаційні блоки доступна можливість автоматичного створення метаданих для елементів і розділів инфоблока. Інформацію про налаштування можна почитати ось тут, ми ж розглянемо приклад використання SEO даних за допомогою API.
API які використовується в SEO инфобоков розташовані в директорії:
\bitrix\modules\iblock\lib\inheritedproperty\
SEO поля елементів инфоблока можна заповнювати допомогою API, для цього при оновленні у масиві полів необхідно додати ключ «IPROPERTY_TEMPLATES«:


“IPROPERTY_TEMPLATES” => array (
“SECTION_META_TITLE” => “”,
“SECTION_META_KEYWORDS” => “”,
“SECTION_META_DESCRIPTION” => “”,
“SECTION_PAGE_TITLE” => “”,
“ELEMENT_META_TITLE” => “”,
“ELEMENT_META_KEYWORDS” => “”,
“ELEMENT_META_DESCRIPTION” => “”,
“ELEMENT_PAGE_TITLE” => “”,
“SECTION_PICTURE_FILE_ALT” => “”,
“SECTION_PICTURE_FILE_TITLE” => “”,
“SECTION_PICTURE_FILE_NAME” => “”,
“SECTION_DETAIL_PICTURE_FILE_ALT” => “”,
“SECTION_DETAIL_PICTURE_FILE_TITLE” => “”,
“SECTION_DETAIL_PICTURE_FILE_NAME” => “”,
“ELEMENT_PREVIEW_PICTURE_FILE_ALT” => “”,
“ELEMENT_PREVIEW_PICTURE_FILE_TITLE” => “”,
“ELEMENT_PREVIEW_PICTURE_FILE_NAME” => “”,
“ELEMENT_DETAIL_PICTURE_FILE_ALT” => “”,
“ELEMENT_DETAIL_PICTURE_FILE_TITLE” => “”,
“ELEMENT_DETAIL_PICTURE_FILE_NAME” => “”,
),

Отримати поля SEO для елемента можна так:

CModule::IncludeModule(“iblock”);
$ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues(
$arCurElem[“IBLOCK_ID”], // ID инфоблока
$arCurElem[“ID”] // ID елемента
);
$arElMetaProp = $ipropValues->getValues();
echo “; print_r ($arElMetaProp); echo “;

Поля SEO для розділу можна отримати схожим способом:

CModule::IncludeModule(“iblock”);
$rsSection = CIBlockSection::GetList(
array(),
array(
“IBLOCK_ID”=>$arParams[‘IBLOCK_ID’],
“ACTIVE”=>”Y”,
“=CODE”=>$arParams[“SECTION_CODE”]),
false
);
if($arSection = $rsSection->GetNext()){
$ipropValues = new \Bitrix\Iblock\InheritedProperty\SectionValues(
$arSection[“IBLOCK_ID”],
$arSection[“ID”]
);
$arSection[“IPROPERTY_VALUES”] = $ipropValues->getValues();
echo “”; print_r($arSection); echo “;
}
Додав: htmaker, 08.03.2014 р.
(5 голосів, середній: 5,00 з 5)

Завантаження…

Діліться з друзями:

См. також:


Налаштування часу у VMBitrix
Рубрика: Bitrix, Linux

Видалення «кинутих» кошиків в системі Бітрікс
Рубрика: Bitrix

Використання highload-блоків в Bitrix
Рубрика: Bitrix

Як виконати SQL запит в Bitrix
Рубрика: Bitrix

Як підрахувати кількість елементів в Bitrix?
Рубрика: Bitrix

Динамічне масштабування зображень в Bitrix
Рубрика: Bitrix

Виключаємо користувача з ID=1 групи адміністраторів в Bitrix
Рубрика: Bitrix

Як скинути пароль адміністратора у Bitrix?
Рубрика: Bitrix

SQL-запити в бітрікс
Рубрика: Bitrix

Коментарі

  • Гість пише:
    17.06.2015 в 14:27

    SEO поля елементів инфоблока можна заповнювати допомогою API, для цього при оновленні у масиві полів необхідно додати ключ «IPROPERTY_TEMPLATES«:
    Де його потрібно додавати?

    Отримати поля SEO для елемента можна так:
    Де потрібно розмістити даний код?

    Відповісти

  • htmaker пише:
    20.06.2015 в 21:44

    IPROPERTY_TEMPLATES додається при оновленні полів елемента.
    Код одержання SEO-полів можна розмістити у компоненті, де відбувається вибірка елементів.

    Відповісти

  • exe пише:
    31.03.2018 в 19:02

    а як встановити поля сео для інформаційного блоку?

    Відповісти