Создание и вывод мета данных (MODx Revo)

452 MODx

Задача

Вывести свои мета (title, description) на созданных страницах

MODx Revolution 2.5.8-pl

Решение

Вообще в MODx у ресурсов есть поля [[*pagetitle]] и [[*description]] которые как бы предназначены для этого, НО в параметр «description» влазит не более 255 символов, а как раз в моем случает текст туда должен вставляться до 300, то есть 260 уже не влезит. К тому же данные поля не всегда по назначению используют в шаблонах.

Короче, решение следующее . . .

  1. Создаем категорию для доп. полей SEO
    Создание и вывод мета данных (MODx Revo)
  2. Создаем доп. поля, Title и Meta-description и назначаем категории SEO а так же шаблону страниц, в котором надо вывести мета
    Создание и вывод мета данных (MODx Revo)
    Создание и вывод мета данных (MODx Revo)
  3. В моем случае, шаблон где надо свои мета выводить это service
  4. Проверяем, появились ли поля у нас при редактировании ресурса, и заносим туда данные.
    Создание и вывод мета данных (MODx Revo)
  5. Правим элемент вывода раздела head, как правило это какой то чанк. Чтоб узнать какой, смотрим шаблон к которому перекреплен ресурс. В зависимости от того как устроен там вывод мета, вставляем условие, которое проверяет, не пусты ли наши поля, если не пусты то выводим, если пусты то выводим то значение что использовалось раньше.

Для title


<title>[[!If? &subject=`[[*Title]]` &operator=`!empty` &then=`[[*Title]]` &else=`[[*pagetitle]] - [[++site_name]]` ]]</title>

Для description


<meta name="description" content="[[!If? &subject=`[[*Meta-description]]` &operator=`!empty` &then=`[[*Meta-description]]` &else=`[[*description]] - [[++site_name]]` ]]">

Теперь подводные камни

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

Открываем Приложения — Установщик

Создание и вывод мета данных (MODx Revo)

Ищем среди установленных If

Создание и вывод мета данных (MODx Revo)

Если пакет такой есть то проблема не в его отсутствии а в коде, возможно где то ошибка, проверь еще раз изменения.

Если пакета нет то устанавливаем его, тут же есть кнопка «Загрузить дополнения», после нажатия на которую, делаем опять поиск данного пакета и жмем на против его кнопку «Загрузить»

После опять переходим на вкладку «Приложения — Установщик», Находим уже загруженное приложение и жмем «Установить».

Все, пакет установлен, и наши мета отображаются.

Ссылки на инструкции по работе с дополнением If

http://i—gu.ru/if

https://docs.modx.com/extras/revo/if

Оцените статью
Добавить комментарий