Как задать разные названия раздела для меню и заголовка страницы в 1С Битрикс?

Как настроить отображение различных названий раздела в меню и в заголовке на сайте, используя 1С Битрикс? Например, чтобы в меню отображалось "FITEX PRO STATUS", а в заголовке – "ТРЕНАЖЕРЫ FITEX PRO STATUS".
Изображение к вопросу
  • 15 января 2024 г. 16:19
Ответы на вопрос 2
Чтобы задать разные названия раздела для меню и заголовка страницы в 1С Битрикс, вам понадобится внести изменения в свойства раздела и настроить шаблоны сайта для корректного отображения этих данных. Вот как это можно сделать:

1. Изменение свойств раздела:
   - Перейдите в административную панель вашего сайта на Битриксе.
   - Перейдите на страницу редактирования нужного вам раздела (обычно это делается через раздел "Структура сайта").
   - В свойствах раздела у вас будет поле "Название", которое будет использоваться для названия в меню. Введите в этом поле "FITEX PRO STATUS".
   - Для заголовка страницы вы можете использовать встроенное поле "Заголовок страницы" (если оно есть), либо создать своё пользовательское свойство раздела, например, с кодом PAGE_TITLE и ввести в него значение "ТРЕНАЖЕРЫ FITEX PRO STATUS".
   - Сохраните изменения.

2. Настройка шаблона компонента меню:
   Для отображения названия из свойства раздела в меню, убедитесь, что шаблон компонента меню, который вы используете, выводит название из соответствующего поля. Обычно это происходит автоматически, и дополнительные настройки не требуются.

3. Настройка шаблона сайта для отображения заголовка:
   - Откройте файл header.php или аналогичный, где устанавливается заголовок страницы (tag `<title>`).
   - Найдите место, где задаётся `<title>` и измените код так, чтобы он брал значение из созданного вами свойства PAGE_TITLE. Может потребоваться использовать API Битрикс для получения свойств раздела. Пример кода может выглядеть так:

```php
<?
// Получаем свойства текущего раздела
$arSection = CIBlockSection::GetList(array(), array(
    "IBLOCK_ID" => $arParams["IBLOCK_ID"],
    "CODE" => $arResult["VARIABLES"]["SECTION_CODE"]
), false, array("ID", "IBLOCK_ID", "NAME", "UF_PAGE_TITLE"))->Fetch();

// Если задано пользовательское свойство "UF_PAGE_TITLE", используем его, иначе используем название раздела
if (isset($arSection['UF_PAGE_TITLE']) && !empty($arSection['UF_PAGE_TITLE'])) {
    $APPLICATION->SetPageProperty("title", $arSection['UF_PAGE_TITLE']);
} else {
    $APPLICATION->SetPageProperty("title", $arSection['NAME']);
}

?>
```

Этот код предполагает, что вы создали пользовательское свойство UF_PAGE_TITLE для разделов инфоблока. Замените `$arParams["IBLOCK_ID"]` и `$arResult["VARIABLES"]["SECTION_CODE"]` соответствующими значениями, чтобы корректно выбрать нужный раздел.

Обратите внимание, что реализация может отличаться в зависимости от структуры вашего сайта и шаблона. В коде выше предполагается, что используется стандартный компонент "Новости по разделам" или подобный, где `$arParams` и `$arResult` хранят необходимые параметры для выборки раздела.

При внесении изменений в шаблоны убедитесь, что вы делаете это в рамках дочернего шаблона (если используете механизм наследования шаблонов), чтобы ваши изменения не были затерты при обновлениях системы.
Что значит как вывести? В зависимости от того как у вас хранятся эти названия, получаете далее выводите. 
Если вопрос стоит как сделать, добавляете дополнительное поле для раздела и туда пишите название для меню. Потом в нужном месте получаете, выводите.
Похожие вопросы