Из-за чего в «bitrix:news» при изменении параметра Устанавливать заголовок страницы внутренние страницы выводят 404?

Ссылка скопирована
1 ответ

Из-за чего в "bitrix:news" при изменении параметра в редакторе компонента "Устанавливать заголовок страницы" внутренние страницы начинают выводить 404 ошибку. Я так понимаю проблема в реврайте? Как её можно побороть?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Елена Вебер Ответ

В bitrix:news параметр “Устанавливать заголовок страницы” сам по себе не должен ломать URL. Если после его изменения внутренние страницы начинают отдавать 404, почти наверняка проблема не в заголовке как тексте, а в комплексном компоненте, ЧПУ-настройках, шаблоне компонента или конфликте с обработкой SEF_FOLDER/SEF_URL_TEMPLATES.

Проверьте параметры компонента:

SEF_MODE => "Y"
SEF_FOLDER => "/news/"
SEF_URL_TEMPLATES => [
    "news" => "",
    "section" => "#SECTION_CODE_PATH#/",
    "detail" => "#SECTION_CODE_PATH#/#ELEMENT_CODE#/",
]

SEF_MODE => "Y" SEF_FOLDER => "/news/" SEF_URL_TEMPLATES => [ "news" => "", "section" => "#SECTION_CODE_PATH#/", "detail" => "#SECTION_CODE_PATH#/#ELEMENT_CODE#/", ]

Если detail URL строится по #ELEMENT_CODE#, у элементов должен быть символьный код. Если по #ELEMENT_ID#, должен передаваться ID. Ошибка 404 часто появляется, когда шаблон URL ожидает один параметр, а в ссылках/инфоблоке есть другой.

Также проверьте, не меняет ли шаблон компонента переменные. Некоторые доработанные шаблоны вызывают SetTitle(), SetPageProperty(), делают редиректы или вручную выставляют 404, если не нашли элемент. При включении “Устанавливать заголовок страницы” может измениться порядок вызовов, и старый кастомный код начинает срабатывать иначе.

Включите временно отладку в detail.php шаблона компонента и посмотрите, что приходит в $arResult:

echo '<pre>';
print_r([
    'VARIABLES' => $arResult['VARIABLES'] ?? null,
    'ALIASES' => $arResult['ALIASES'] ?? null,
]);
echo '</pre>';

echo '<pre>'; print_r([ 'VARIABLES' => $arResult['VARIABLES'] ?? null, 'ALIASES' => $arResult['ALIASES'] ?? null, ]); echo '</pre>';

После изменения настроек компонента очистите кеш компонента и управляемый кеш. В Битриксе старый кеш может держать прежнюю карту URL.

Итог: смотрите не сам параметр title, а связку ЧПУ-шаблонов, символьных кодов и кастомного шаблона bitrix:news. Если 404 появляется только в вашем шаблоне, временно переключите компонент на стандартный шаблон: если там работает, ошибка в доработках шаблона.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно