@IliaMal

Как найти где переопределяется title?

Здравствуйте.

В карточке товара не могу поменять title.
В component_epilog.php задаю нужный заголовок
$APPLICATION->SetPageProperty("title", "То что хочу видеть");

, но на странице все равно выводится старый title.

Если оборвать выполнение скрипта в component_epilog.php
$APPLICATION->SetPageProperty("title", "То что хочу видеть");
die();

То выводит нужный заголовок,

Если же оборвать скрипт после вызова компонента в element.php
$APPLICATION->IncludeComponent(
            "bitrix:catalog.element",
            "element-v1",
            array(
            ...
            ...
            ),
            $component
  );
    die();


, то мой title переопределится.

Как найти где переопределяется title?
  • Вопрос задан
  • 1149 просмотров
Пригласить эксперта
Ответы на вопрос 1
no_one_safe
@no_one_safe
Ваш title перетирает сам компонент bitrix:catalog.element
Файл component_epilog.php является частью шаблона (Да, шаблон состоит из 3 файлов - 2 кешируются, а component_epilog.php нет)
А после исполнения шаблона в компоненте много чего еще происходить может. В частности, установка мета тегов.
Для того, чтобы кастомизировать title пути 2:
1. Пробросить значения title в component_epilog.php через
$APPLICATION->SetPageProperty("new_title", "То что хочу видеть");

А уже в файле detail.php после вызова компонента bitrix:catalog.element
$strTitle = $APPLICATION->GetPageProperty("new_title");
$APPLICATION->SetPageProperty("title", $strTitle);


2. Вариант
В файле result_modifier.php переопределить значения:
$arResult["META_TAGS"]["TITLE"] = "То что хочу видеть";
....
$this->__component->SetResultCacheKeys('META_TAGS');


Какой вариант предпочтительней - выбирать вам. Тут, наверное, нет рецепта. Я бы через result_modifier наверное делал, чтобы все в одном месте было.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы