Неправильно выводится тег title в 1С Битрикс

12
Z7
На сайте с 03.07.2016
Offline
49
10603

Здравствуйте!

Прошу помочь решить проблему с неправильным выводом текста в теге Titile в 1С Битрикс.

Нужно прописать метатеги на сайте. Долго я бился с тем, чтобы разобраться почему у меня не получается отредактировать тег title. Чтобы я не пробовал сделать метатег title всегда отображается по следующему шаблону: "Название категории | Название сайта". Версия Битрикса 17.0.10 и в ней настроено автоматическое заполнение метатегов, сначала думал, что дело в нём - разобрался, автоматические сценарии удалил, а также просмотрел все возможные настройки в админке. В итоге теги description и keyword получается нормально редактировать, а вот title все-равно отображается по одному и тому же шаблону. В итоге я залез в шаблон сайта и насколько я могу судить проблема именно в нем. Судя по всему в этом коде задан алгоритм, когда title составляется из названия категории и названия сайта.

Я проверил данную теорию.

Отредактировал категорию. На вкладке "Раздел" в поле "Название" ввел фразу, которая теперь отображается в title (прикладываю скриншот вкладки "Раздел" и данные метатегов после сохранения изменений).

На вкладке SEO в поле Titile ввел отличающийся текст от того, что введен на вкладке "Раздел".

В итоге после редактирования в метатегах видим данные, которые подтянулись со вкладки "Раздел.

Можно было бы и так оставить, но это вызывает неудобства, т.к. в админке теперь вместо нормального названия категории будут отображаться тексты для titile, а названия категорий на сайте теперь отображаются как длинные тексты тега title.

Вот скрин куска кода, который отвечает за вывод тега title. Я не знаю php, поэтому прошу помощи более опытных форумчан.

Подскажите, какой код должен быть, чтобы метатег title подтягивался из данных прописанных в SEO настройках категории.

Прошу помощи в редактировании кода шаблона.

jpg 165954.jpg
jpg 165955.jpg
jpg 165956.jpg
jpg 165957.jpg
jpg 165958.jpg
S
На сайте с 30.09.2016
Offline
469
#1

Вместо

$APPLICATION->ShowTitle();
Надо воткнуть что-то вроде
$APPLICATION->SetPageProperty("title", $arResult["NAME"]);
Причём на месте $arResult["NAME"] должен стоять тот элемент, который Вам нужен. Более точно, к сожалению, не скажу - не настолько подробно знаю Битрикс. Лично я тупо посмотрел бы, что там в массиве $arResult и выбрал то, что мне надо.
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Z7
На сайте с 03.07.2016
Offline
49
#2
Причём на месте $arResult["NAME"] должен стоять тот элемент, который Вам нужен. Более точно, к сожалению, не скажу - не настолько подробно знаю Битрикс. Лично я тупо посмотрел бы, что там в массиве $arResult и выбрал то, что мне надо.

Может подскажете как вообще просмотреть массив $arResult?

S
На сайте с 30.09.2016
Offline
469
#3

Прописываете в шаблоне

print_r($arResult);
и смотрите в браузере исходный код страницы.
Aisamiery
На сайте с 12.04.2015
Offline
293
#4

Sitealert, Ерунду не советуйте

У битрикса есть понятие отложенных функций, и ShowTitle одна из них

Если при выводе заголовка страницы функция ShowTitle() использует параметр false, это означает, что для установки заголовка страницы не нужно проверять значение свойства title (например, Дополнительный заголовок (заголовок окна веб-браузера)).

То есть, если вам надо показать модифицированный title, то надо вызвать с агрументом true

$APPLICATION->ShowTitle(true);



---------- Добавлено 21.08.2017 в 15:37 ----------

А еще там есть кнопочка в компоненте "Заполнять тилт" и поле надо указать откуда брать тот самый титл

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
Z7
На сайте с 03.07.2016
Offline
49
#5
Aisamiery:
Sitealert, Ерунду не советуйте
То есть, если вам надо показать модифицированный title, то надо вызвать с агрументом true

Т.е. в теге title оставить только?

$APPLICATION->ShowTitle(true);

А еще там есть кнопочка в компоненте "Заполнять тилт" и поле надо указать откуда брать тот самый титл

А в каком модуле есть эта кнопка?

S
На сайте с 30.09.2016
Offline
469
#6

Aisamiery, согласен, то, что я написал, относится скорее к заданию свойства, а не к его показу. Но и Вы как-то мутно написали, как мне кажется. Распишите уж подробнее человеку, что ему надо сделать.

Я вот, например, такую ссылочку могу предложить.

Aisamiery
На сайте с 12.04.2015
Offline
293
#7

Sitealert, Я бы написал человеку, если бы знал что он хочет решить.

А ссылку я могу дать только на доку.

Для тилов достаточно вставить как правило

<title>$APPLICATION->ShowTitle();</title>

Судя по скринам, мы решаем вопрос вывод информации из инфоблока, вывести информацию в битриксе можно миллионом способов, но представим что это выгрузка из 1С (судя по скрину) и компонент используется штатный bitrix:catalog

Тогде у этого компонента есть 2 настройки

"SET_TITLE" => "Y"

Говорит компоненту переопределять title страницы

"LIST_BROWSER_TITLE" => "UF_BROWSER_TITLE"

Откуда брать титл для раздела с товарами

"DETAIL_BROWSER_TITLE" => "TITLE"

Откуда брать титл для карточки товара

И еще там есть кучка титлов.

Если там выводятся компонентом новостей, то там тоже есть свои настройки, если не комплексыми, а обычными, то и там есть настройки.

Если разработчики забабахали свою логику вывода, то я даже хз тогда.

Дело в том, что битрикс - это больше фреймворк с кучей поставляемых модулей в коробке, сам по себе инфоблок - это способ организации и хранения динамической информации, а вот за вывод отвечает уже девелопер, который собирал сайт, ну а если он "рукожоп" (каких большинство в связи с тем, что в студиях преимущественно работают студенты или начало карьеры, а битрикс это инструмент вэбстудий), то и битрикс получается гамно и проект получается гамно и так далее. Ну вот и в таких реалиях я не могу скинуть ссылку на что то, потому что понятия не имею что у них там в проекте. Я чисто так - предполагаю.

S
На сайте с 30.09.2016
Offline
469
#8
Aisamiery:
и битрикс получается гамно и проект получается гамно и так далее.

Вот в этом я, к сожалению, уже давно убедился.

Z7
На сайте с 03.07.2016
Offline
49
#9

Самые простые варианты попробовал, ничего не помогло. Ставил следующий код:

<title itemprop="name">
<?php
$APPLICATION->ShowTitle(true);
?>
</title>

<title>
<?php
$APPLICATION->ShowTitle();
?>
</title>

В документации, ссылку на которую вы давали я точно не разберусь.

Может можете более конкретно подсказать, что нужно сделать? Возможно от меня еще какая-то информация нужна?

Z7
На сайте с 03.07.2016
Offline
49
#10

Нашел несколько полезных ссылок, возможно кому-то поможет разобраться с похожей проблемой.

https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=3429&LESSON_PATH=3913.4564.4930.3428.3429

Также вот, что заметил. Когда я захожу в управление SEO на самой странице каталога, то там вообще не показывает наличия Meta Title на странице. Возможно причина не в шаблоне, а немного другая.

jpg test.jpg
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий