В Битриксе часто по умолчанию заголовок H1 страницы и последний элемент хлебных крошек (название текущей страницы) берутся из одного и того же места: из значения, установленного методом $APPLICATION->SetTitle().
Чтобы вывести их по-разному или в разных местах, нужно разделить логику их отображения в шаблоне сайта. Вот несколько распространенных способов:
-
Разделить вывод в
header.php(наиболее частый способ): Шаблон сайта обычно имеет файлheader.php. В этом файле происходит вывод как заголовка H1, так и хлебных крошек. По умолчанию они могут использовать$APPLICATION->ShowTitle(). Вам нужно изменить эту логику. -
Текущая ситуация (типично): В
header.phpможет быть что-то вроде:
php Скопировать** Закрыть блок
// Где-то в
$APPLICATION->ShowMeta("keywords");
$APPLICATION->ShowMeta("description");
$APPLICATION->ShowCSS();
$APPLICATION->ShowHeadStrings();
$APPLICATION->ShowHeadScripts();
<?php $APPLICATION->ShowTitle() ?>
// Где-то в , часто в начале контентной части
# <?php $APPLICATION->ShowTitle(false) ?>
// Вывод заголовка как H1
<?php $APPLICATION->IncludeComponent(
"bitrix:breadcrumb",
"", // или имя вашего шаблона хлебных крошек
array(
"START_FROM" => "0",
"PATH" => "",
"SITE_ID" => "s1" // замените на ID вашего сайта, если нужно
),
false, // или $component, если внутри компонента
array('HIDE_ICONS' => 'Y') // скрытие иконок по умолчанию
);?>
Здесь $APPLICATION->ShowTitle() используется и в “, и как H1. Хлебные крошки компонента bitrix:breadcrumb также по умолчанию используют значение $APPLICATION->SetTitle() для последней ссылки.
- Как разделить: Вам нужно изменить логику вывода H1. Вместо
$APPLICATION->ShowTitle(), вы можете:
а) Использовать отдельное свойство страницы для H1: Это наиболее гибкий способ.
-
Определите пользовательское свойство страницы, например,
PAGE_H1. -
В административной части, при редактировании каждой страницы или раздела, устанавливайте это свойство (
PAGE_H1) с текстом, который вы хотите видеть как H1, и устанавливайте стандартный заголовок ($APPLICATION->SetTitle()) для “ и хлебных крошек. -
В
header.php(или в шаблоне страницы/раздела) измените вывод H1 так:
php Скопировать
Закрыть блок
<?php
// Получаем значение пользовательского свойства PAGE_H1
$pageH1 = $APPLICATION->GetPageProperty("PAGE_H1");
// Если свойство установлено, используем его для H1
if ($pageH1) {
echo '
# ' . $pageH1 . '
';
} else {
// Иначе используем стандартный заголовок страницы как H1
// $APPLICATION->ShowTitle(false); // Вывод заголовка без тегов, если он уже установлен с тегами
// Или просто echo $APPLICATION->GetTitle(); если нужен только текст
echo '
# ' . $APPLICATION->GetTitle() . '
'; // Используем GetTitle для получения чистого текста
}
// Вывод хлебных крошек остается стандартным (они используют SetTitle)
$APPLICATION->IncludeComponent(
"bitrix:breadcrumb",
"", // или имя вашего шаблона
array(
"START_FROM" => "0",
"PATH" => "",
"SITE_ID" => "s1" // замените
),
false,
array('HIDE_ICONS' => 'Y')
);
?>
-
В административной части при редактировании страницы:
-
В поле “Заголовок окна браузера (
)" или "Заголовок страницы" (в зависимости от настройки шаблона и мета-тегов) указывайте текст дляи хлебных крошек. -
В разделе “Дополнительно” -> “Пользовательские поля” (если они настроены для страниц) или “Свойства страницы” -> “PAGE_H1” указывайте текст, который должен быть H1.
б) Выводить H1 из самого компонента или шаблона страницы: Вместо вывода H1 в header.php совсем, выносите его в тело контентной части страницы или шаблоны комплексных компонентов.
- В
header.phpубираете вывод `
…
`.
- На статических страницах (
.phpфайлы) вручную добавляете `
Текст для H1
. При этом $APPLICATION->SetTitle()` используете только для “ и хлебных крошек.
- В шаблонах комплексных компонентов (например, каталог, новости) часто есть возможность включить/отключить вывод заголовка раздела/элемента как H1. Выключаете его в общих настройках компонента, если нужно, и затем в шаблоне компонента (
template.php) выводите заголовок элемента/раздела как H1. Например:php Скопировать
Закрыть блок
// В шаблоне компонента news.detail или catalog.element
# <?php echo $arResult["NAME"]; ?>
// При этом в header.php нет общего H1, а $APPLICATION->SetTitle()
// используется для хлебных крошек и
Этот подход дает полный контроль, но требует внимательности на каждой странице или в каждом используемом компоненте.
-
Модифицировать шаблон компонента
bitrix:breadcrumb: Этот способ менее распространен для разделения H1 и хлебных крошек, но может быть полезен, если вы хотите, чтобы последний элемент хлебных крошек отображался иначе, чем сам H1 (например, без ссылки, другим шрифтом, или вообще не отображался). -
Создайте переопределение шаблона компонента
bitrix:breadcrumb(скопируйте стандартный шаблон/.defaultв свой шаблон сайта в папкуcomponents/bitrix/breadcrumb/под новым именем). -
Отредактируйте файл
template.phpэтого нового шаблона. Найдите код, отвечающий за вывод последнего элемента$arResultи измените его логику или форматирование. Например, чтобы убрать ссылку или сделать его просто текстом. -
В вызове компонента
bitrix:breadcrumbвheader.phpукажите имя вашего нового шаблона.
Резюме и Рекомендации:
-
Наиболее гибкий и рекомендуемый способ для чистого разделения H1 и
/хлебных крошек — использование пользовательского свойства страницы (например, `PAGE_H1`). Это позволяет независимо задавать тексты для H1 и для/хлебных крошек в админке и выводить их в шаблоне. -
Если на сайте используются в основном комплексные компоненты (каталог, новости), часто проще отключить стандартный H1 в
header.phpи управлять выводом H1 внутри шаблонов самих компонентов. -
Никогда не редактируйте файлы ядра Битрикса или стандартные шаблоны компонентов напрямую. Всегда используйте механизм переопределения шаблонов.
-
Убедитесь, что на странице выводится только один тег “ для лучшей SEO-оптимизации.
Выберите способ, который лучше соответствует структуре вашего сайта и удобству работы контент-менеджеров.
В Аспро хлебные крошки и настройки уже реализованы. Ищите в каталоге.
Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.