Title и h1
С заголовком страницы в Битрикс все очень запутано. Через панель управления можно установить «Заголовок страницы» и «Заголовок окна браузера». «Заголовок страницы» это содержимое тега h1
страницы, а «Заголовок окна браузера» содержимое тега title
. Однако, выводить на страницу и то и другое можно с помощью метода CMain::ShowTitle()
, только вызывать его надо по-разному.
<title><?php $APPLICATION->ShowTitle();?></title> // выводим «заголовок окна браузера»
<h1><?php $APPLICATION->ShowTitle(false);?></h1> // выводим «заголовок страницы»
Чтобы установить заголовки страницы программно, существуют специализированные функции:
CMain::SetTitle()
устанавливает заголовок страницыCMain::GetTitle()
возвращает заголовок страницыCMain::ShowTitle()
отображает заголовок страницы
И более общие функции работы со свойствами страницы и раздела:
CMain::ShowProperty()
отображает свойство страницы, учитывая свойства разделаCMain::GetProperty()
возвращает свойство страницы, учитывая свойства разделаCMain::GetPageProperty()
возвращает свойство страницыCMain::GetDirProperty()
возвращает свойство разделаCMain::GetPagePropertyList()
возвращает массив всех свойств страницыCMain::GetDirPropertyList()
возвращает массив всех свойств разделаCMain::SetPageProperty()
устанавливает свойство страницыCMain::SetDirProperty()
устанавливает свойство разделаCMain::ShowMeta()
отображает свойство раздела/страницы обрамленное тегомmeta
CMain::GetMeta()
возвращает свойство раздела/страницы обрамленное тегомmeta
Метод SetTitle('…')
устанавливает «Заголовок страницы», а метод
SetPageProperty('title', '…')
устанавливает «Заголовок окна браузера». При вызове
ShowTitle()
без аргументов будет показан «Заголовок окна браузера», потому что фактически происходит
вызов ShowTitle('title')
. Если нужно, чтобы ShowTitle()
выводил на страницу «Заголовок
страницы», надо вызвать его с аргументом false
.
<?php require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php'); ?>
<?php
$APPLICATION->SetTitle('Заголовок страницы');
$APPLICATION->SetPageProperty('title', 'Заголовок окна браузера');
?>
<?php $APPLICATION->ShowTitle(); ?>
<br/>
<?php $APPLICATION->ShowTitle(false); ?>
<?php require($_SERVER['DOCUMENT_ROOT'].'/bitrix/footer.php'); ?>
Вывод браузера:
Заголовок окна браузера
Заголовок страницы
Вообще, с помощью ShowTitle()
можно вывести любое свойство страницы в качестве заголовка окна браузера.
Для этого надо передать первым аргументом имя свойства, предварительно установленное с помощью
SetPageProperty()
:
<?php $APPLICATION->SetPageProperty('heading', 'Мой заголовок'); ?>
<?php $APPLICATION->ShowTitle('heading'); ?>
Метод GetTitle()
по умолчанию вызывается с аргументом false
и возвращает заголовок
страницы, установленный с помощью метода SetTitle()
. Можно передать методу имя свойства страницы
(предварительно установленное с помощью SetPageProperty()
), значение которого будет выведено в качестве
заголовка, например GetTitle('title')
.
Получение SEO свойств в компоненте
Получение значений SEO для инфоблока:
$ipropIblockValues = new \Bitrix\Iblock\InheritedProperty\IblockValues(ID_инфоблока);
pp($ipropIblockValues->getValues());
Получение значений SEO для раздела:
$ipropSectionValues = new \Bitrix\Iblock\InheritedProperty\SectionValues(ID_инфоблока,ID_секции);
pp($ipropSectionValues->getValues());
Получение значений SEO для элемента:
$ipropElementValues = new \Bitrix\Iblock\InheritedProperty\ElementValues(ID_инфоблока,ID_элемента);
pp($ipropElementValues->getValues());
Сбросить кеш SEO свойств в компоненте
Сбросить кеш SEO для инфоблока:
$ipropIblockValues = new \Bitrix\Iblock\InheritedProperty\IblockValues(ID_инфоблока);
$ipropIblockValues->clearValues();
Сбросить кеш SEO для раздела инфоблока:
$ipropSectionValues = new \Bitrix\Iblock\InheritedProperty\IblockSectionValues(ID_инфоблока,ID_секции);
$ipropSectionValues->clearValues();
Сбросить кеш SEO для элемента инфоблока:
$ipropElementValues = new \Bitrix\Iblock\InheritedProperty\IblockElementValues(ID_инфоблока,ID_элемента);
$ipropElementValues->clearValues();