@pasib

Как настроить шаблон каталога, чтобы для страниц разделов заполнялись мета теги из полей вкладки SEO?

Сайт работает на битрикс.

Для страниц сайта с разделами со списком элементов (товаров) и для самих элементов (товаров) мета теги заполняются правильно из полей вкладки SEO.

На сайте для страниц разделов верхнего уровня (со списком подразделов) компонента каталог мета теги заполняются не из полей вкладки SEO. Для таких разделов мета теги берутся из названия разделов. Как исправить эту проблему.

Наверное, что-то неверно прописано в шаблоне списка разделов bitrix:catalog.section.list ?
Если заменить шаблон компонента каталога на другой вместо используемого у нас по умолчанию, то мета теги таких разделов заполнятся из полей вкладки SEO. Однако, использовать другой шаблон не могу, так как нарушается вывод разделов, элементов и их форматирование на странице.

Ниже код шаблона bitrix:catalog.section.list
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?><?if (!empty($arResult["SECTION_USER_FIELDS"]["UF_BROWSER_TITLE"]))
$APPLICATION->SetTitle($arResult["SECTION"]["SECTION_USER_FIELDS"]["UF_BROWSER_TITLE"]);
else
$APPLICATION->SetTitle($arResult["SECTION"]["NAME"]);

if (!empty($arResult["SECTION_USER_FIELDS"]["UF_TITLE_H1"]))
$APPLICATION->SetPageProperty("ADDITIONAL_TITLE", $arResult["SECTION"]["SECTION_USER_FIELDS"]["UF_TITLE_H1"]);
else
$APPLICATION->SetPageProperty("ADDITIONAL_TITLE", $arResult["SECTION"]["NAME"]);?>
<?

$APPLICATION->SetPageProperty("title", $arResult["SECTION"]["NAME"]);
$APPLICATION->SetPageProperty("description", $arResult["SECTION"]["NAME"]);
$APPLICATION->SetPageProperty("keywords", $arResult["SECTION"]["NAME"]);

$TOP_DEPTH = $arResult["SECTION"]["DEPTH_LEVEL"];
$CURRENT_DEPTH = $TOP_DEPTH;

?>

<? if (!empty($arResult["SECTIONS"])): ?>




<? if (($arSection["ELEMENT_CNT"] > 0) || !empty($arSection["DESCRIPTION"])): ?>" href="<?=$arSection["SECTION_PAGE_URL"]?>"><? en...<? endif; ?>

  

<? endif; ?>

<?=$arResult["SECTION"]["DESCRIPTION"]; ?>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • Вопрос задан
  • 2295 просмотров
Пригласить эксперта
Ответы на вопрос 3
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Покажите настройки компонента bitrix:catalog
Ответ написан
Комментировать
@pasib Автор вопроса
Параметры компонента bitrix:catalog
891f8feabab6424d98da3fcedf7fa7fc.pngddfc57f449df46c8a1ab89a85adb521c.pngf6ab3b0771964cc99c874c84f96291d0.png9224d6988c2d4833ba5c4ae06826b7e1.png73a7d8e3f19c453a97333d1579416d2b.png46d01fff65cd4773bb039b4d24a0e3e7.pngc25646d8107941928069cd5fc2badbb4.png9ad1be65dbfe479cb2da919f97afa1cb.png

Если закоментировать часть кода вылезает ошибка
/* <?if (!empty($arResult["SECTION_USER_FIELDS"]["UF_BROWSER_TITLE"]))
$APPLICATION->SetTitle($arResult["SECTION"]["SECTION_USER_FIELDS"]["UF_BROWSER_TITLE"]);
else
$APPLICATION->SetTitle($arResult["SECTION"]["NAME"]);

if (!empty($arResult["SECTION_USER_FIELDS"]["UF_TITLE_H1"]))
$APPLICATION->SetPageProperty("ADDITIONAL_TITLE", $arResult["SECTION"]["SECTION_USER_FIELDS"]["UF_TITLE_H1"]);
else
$APPLICATION->SetPageProperty("ADDITIONAL_TITLE", $arResult["SECTION"]["NAME"]);?>
<?

$APPLICATION->SetPageProperty("title", $arResult["SECTION"]["NAME"]);
$APPLICATION->SetPageProperty("description", $arResult["SECTION"]["NAME"]);
$APPLICATION->SetPageProperty("keywords", $arResult["SECTION"]["NAME"]);
*/
Ответ написан
Комментировать
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Так у Вас же в коде шаблона идет задание мета тегов -
<?
$APPLICATION->SetTitle($arResult["SECTION"]["SECTION_USER_FIELDS"]["UF_BROWSER_TITLE"]);
else
$APPLICATION->SetTitle($arResult["SECTION"]["NAME"]);

if (!empty($arResult["SECTION_USER_FIELDS"]["UF_TITLE_H1"]))
$APPLICATION->SetPageProperty("ADDITIONAL_TITLE", $arResult["SECTION"]["SECTION_USER_FIELDS"]["UF_TITLE_H1"]);
else
$APPLICATION->SetPageProperty("ADDITIONAL_TITLE", $arResult["SECTION"]["NAME"]);?>
<?

$APPLICATION->SetPageProperty("title", $arResult["SECTION"]["NAME"]);
$APPLICATION->SetPageProperty("description", $arResult["SECTION"]["NAME"]);
$APPLICATION->SetPageProperty("keywords", $arResult["SECTION"]["NAME"]);


Удалите или закомментируйте эти строки. Возможно еще придется поменять несколько настроек в компоненте.
Даже если Вы все таки хотите оставить их для каких либо целей, то данный код не будет работать при включенном кешировании. Всё это отложенные функции и их надо перенести в component_epilog.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы