Задача
Вывести свои мета (title, description) на созданных страницах
MODx Revolution 2.5.8-pl
Решение
Вообще в MODx у ресурсов есть поля [[*pagetitle]] и [[*description]] которые как бы предназначены для этого, НО в параметр «description» влазит не более 255 символов, а как раз в моем случает текст туда должен вставляться до 300, то есть 260 уже не влезит. К тому же данные поля не всегда по назначению используют в шаблонах.
Короче, решение следующее . . .
- Создаем категорию для доп. полей SEO
- Создаем доп. поля, Title и Meta-description и назначаем категории SEO а так же шаблону страниц, в котором надо вывести мета
- В моем случае, шаблон где надо свои мета выводить это service
- Проверяем, появились ли поля у нас при редактировании ресурса, и заносим туда данные.
- Правим элемент вывода раздела 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 и движек не сможет корректно обработать условие.
Открываем Приложения — Установщик
Ищем среди установленных If
Если пакет такой есть то проблема не в его отсутствии а в коде, возможно где то ошибка, проверь еще раз изменения.
Если пакета нет то устанавливаем его, тут же есть кнопка «Загрузить дополнения», после нажатия на которую, делаем опять поиск данного пакета и жмем на против его кнопку «Загрузить»
После опять переходим на вкладку «Приложения — Установщик», Находим уже загруженное приложение и жмем «Установить».
Все, пакет установлен, и наши мета отображаются.
Ссылки на инструкции по работе с дополнением If