Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

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

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

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

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

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

 

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

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

  • Автор

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

  • Автор

Наделся что тег <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".

  • Автор

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

 

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

 

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

 

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

 

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

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

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

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.