Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Общий title для всех страниц

00 голосов
9
Здравствуйте, товарищи. Нужен title для всех страниц вида:

Динамично_меняющееся_название | Название_моей_компании

Что-то вроде:

Код
$APPLICATION->SetTitle($APPLICATION->GetTitle() . ' | bla bla bla');


только по-человечески. Чтобы через бэкенд и чтобы название страницы (что обычно между <h1></h1>) не трогать.

Как это можно реализовать?

Спасибо.
спросил 30 Апр, 13 от Cavizar (220 баллов)

9 Ответы

00 голосов
в хедере вместо
<title><?$APPLICATION->ShowTitle();?></title>

написать

<title><?$APPLICATION->ShowTitle();?> | bla bla bla</title>
ответил 30 Апр, 13 от Straza (140 баллов)
00 голосов
Код
<head>
<title><?$APPLICATION->ShowTitle();?> | bla-bla-bla</title>
ответил 30 Апр, 13 от Ly (4,580 баллов)
00 голосов
Опередил :)
ответил 30 Июнь, 13 от Ly (4,580 баллов)
00 голосов
Да, что-то я оплошал... А теперь такой вопрос, можно ли в битриксе определить какое-то свойство сайта, допустим _COMMON_HEADER, и потом делать

Код
$APPLICATION->ShowTitle() . $APPLICATION->супер_функция('_COMMON_HEADER');


Вряд ли заказчику удобно будет менять тайтл непосредственно в шаблоне.
ответил 04 Окт, 13 от Cavizar (220 баллов)
00 голосов
В админке в поле Типы свойств указываем _COMMON_HEADER Общий заголовок
(Настройки - Настройки продукта - Настройки модулей - Управление структурой)

В свойствах корневой папки указываем сам заголовок.

В шаблоне
Код
<?$APPLICATION->ShowTitle();?> | <?$APPLICATION->ShowProperty("_COMMON_HEADER")?>
ответил 04 Янв, 14 от NitroGeN (2,840 баллов)
00 голосов
Евгений, то что нужно! Большое спасибо!
ответил 21 Апр, 14 от Cavizar (220 баллов)
00 голосов
А еще лучше так:

Код
<?$SiteTitle = $APPLICATION->GetDirProperty("site_title");?>
<title><?$APPLICATION->ShowTitle()?><?if ($SiteTitle):?> :: <?=$SiteTitle?><?endif;?></title>


Чтобы не показывать разделитель если вдруг заголовок для этого раздела не задан :)

Кстати, этот же вариант удобно использовать для нескольких языковых версий на одной лицензии (/en/, /ru/ и тд.)

Еще один вариант - брать название сайта прямо из настроек сайта. Правда тогда происходит один лишний запрос к базе данных.
ответил 15 Авг, 14 от Perfekt (220 баллов)
00 голосов
Цитата
Иван Левый пишет:
А еще лучше так:

Код

<?$SiteTitle = $APPLICATION->GetDirProperty("site_title");?>
<title><?$APPLICATION->ShowTitle()?><?if ($SiteTitle):?> :: <?=$SiteTitle?><?endif;?></title>


Чтобы не показывать разделитель если вдруг заголовок для этого раздела не задан



GetDirProperty() не является отложенной функцией, поэтому ваш вариант не будет работать как положено.
ответил 20 Дек, 14 от Delp (7,220 баллов)
00 голосов
Цитата
Sergey Leshchenko пишет:
GetDirProperty() не является отложенной функцией, поэтому ваш вариант не будет работать как положено.


Тут отложенная функция особо и не нужна.

Заголовок задается в свойствах корневого раздела один раз для всего сайта, и меняется раз в пол года при переименовани фирмы :)
ответил 10 Апр, 15 от Perfekt (220 баллов)

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