Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
vinegredz

Как изменять <titile> для баз данных?

Рекомендованные сообщения

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

 

Очень нужно иметь полный контроль над тегом <title> для каждой базы данных по отдельности. По умолчанию в этот тэг подставляется только название записи и название сайта.

 

Знаю, что можно создать шаблон страницы (как например customWrapper), но при попытке вписать туда переменные из базы данных страница крашится.

 

Нужно иметь полный контроль над этим тегом, чтобы поставлять туда данных из базы данных через переменные вроде $record->customFieldDisplayByKey('name').

 

И еще не понятно как менять содержимое этого тега в зависимости от того на каком уровне базы данных находится пользователь:

 

1. Тайтл, если на страницу категории или подкатегории

2. Тайтл, если на странице записи

 

В этих случаях тайтл должен быть разным.

 

Подскажите, пожалуйста.

Поделиться сообщением


Ссылка на сообщение

Я конечно не знаком с работой базы данных, но если тайтл генерируется автоматически вряд ли у вас будет доступ к нему напрямую из шаблона.

Поделиться сообщением


Ссылка на сообщение

{{\IPS\Output::i()->title = $record->customFieldDisplayByKey('name') . ' - ' . \IPS\Output::i()->title;}}

 

И еще не понятно как менять содержимое этого тега в зависимости от того на каком уровне базы данных находится пользователь

В шаблоне какой страницы (например, в шаблоне листинга категорий или в шаблоне записей) Вы будете модифицировать тайтл, на той изменения и будут. В связи с чем набор шаблонов для каждой базы Pages, используемой в паблике, необходимо делать свой. Стандартный набор шаблонов редактировать не нужно, поскольку он используется как образец для создания кастомизируемых наборов.

Поделиться сообщением


Ссылка на сообщение

Обалдеть, это работает. Наконец-то понятный способ влияния на title, чтобы СЕО рос. Стандартный подход к тайтлам просто деревянный. Большое спасибо!

Поделиться сообщением


Ссылка на сообщение
01/03/19 05:01 (изменено)

Наделся что тег <meta name="description" content="">, тоже так редактируется, но нет) Пробовал банальный подмены, вроде:

 

{{\IPS\Output::i()->description = $record->customFieldDisplayByKey('name') . ' - ' . \IPS\Output::i()->description;}}
{{\IPS\Output::i()->desc = $record->customFieldDisplayByKey('name') . ' - ' . \IPS\Output::i()->desc;}}
{{\IPS\Output::i()->desk = $record->customFieldDisplayByKey('name') . ' - ' . \IPS\Output::i()->desk;}}

 

Можете подсказать? Понял, что есть нечто \IPS\Output::i() и что оно отвечает за вывод в том числе и метаданных. Наверняка так можно любой тег в head редактировать?

Изменено пользователем vinegredz

Поделиться сообщением


Ссылка на сообщение

Еще дополню, что эта конструкция точно не работает для шаблона categoryHeader:

 

{{\IPS\Output::i()->title = 'Здесь просто текстовый заголовок';}}

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Можете подсказать?

{{\IPS\Output::i()->metaTags['description'] = 'My Text.';}}

 

Еще дополню, что эта конструкция точно не работает для шаблона categoryHeader

Не тот шаблон редактируете. Если нужно изменить тайтл на заглавной странице базы, то Вам нужен шаблон "index", из группы "Category Index".

Поделиться сообщением


Ссылка на сообщение

{{\IPS\Output::i()->metaTags['description'] = 'My Text.';}}

 

Это работает. Логику понял. Даже с другими тегами справился. Спасибо!

Поделиться сообщением


Ссылка на сообщение
Не тот шаблон редактируете. Если нужно изменить тайтл на заглавной странице базы, то Вам нужен шаблон "index", из группы "Category Index".

 

Да в index работает, но кроме корня базы данных изменять title нужно и на странице каждой категории. За эти страницы, если не ошибаюсь, отвечают шаблоны из группы "Listing". Вот на этих шаблонах и не работает.

Поделиться сообщением


Ссылка на сообщение
За эти страницы, если не ошибаюсь, отвечают шаблоны из группы "Listing".

Ошибаетесь. Страницы категорий, это шаблон "index", группы "Category Articles".

Поделиться сообщением


Ссылка на сообщение
01/03/19 06:03 (изменено)

Это если в настройках базы данных в качестве главной страницы выбран пункт "Отображать записи как статьи". Тогда да, шаблон будет "index" из группы "Category Articles".

 

У меня в корне базы данных отображаются категории. Я редактировал шаблоны "categoryHeader", "categoryTable" и "categoryRow" и вижу изменения на страницах.

 

Ранее я успешно с вашей помощью изменил titile для шаблона "record". Скорее всего я расплывчато описываю то, что мне нужно. Максимально конкретно задача звучит так:

 

Как влиять на title страницы, за которую отвечает шаблон categoryHeader?

 

P.S. Я конечно попробовал редактировать шаблон "index", группы "Category Articles" и это действительно работает, но мне подходит.

Изменено пользователем vinegredz

Поделиться сообщением


Ссылка на сообщение

Значит в шаблон "categoryTable" вставьте, или даже в "categoryFooter". Нужно что бы модификация шла после объявления и присвоения значения переменной обработчиком страницы.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...