Инструкция по созданию сайта на MODx. Урок 9 — Работа со специальными тегами MODx
В этом уроке речь пойдет о специальных тегах системы управления, которые вы будете использовать для создания динамических сайтов на MODx. Что такое специальные теги MODx? Это определенные конструкции, которые необходимо вставлять в код шаблона сайта, чтобы вывести ту или иную динамическую информацию на сайте.
Ничего сложного в этом нет, и вы уже с некоторыми специальными тегами познакомились на практике в предыдущих уроках. При настройке шаблона мы использовали тег [*content*] для вывода содержимого страниц и тег [(base_url)] для указания базового URL для всех страниц сайта.
В этом уроке мы более подробно разберем основные теги, с которыми вам придется столкнуться при разработке сайтов на MODx.
Наиболее распространенные теги MODx
[(site_name)] — этот тег выводит заголовок вашего сайта. Обычно используется в заглавии страниц HTML в теге <title>. Ниже на рисунке изображено поле содержимое которого выводит эта конструкция. Отредактировать его можно на странице системной конфигурации.

[(base_url)] или [(site_url)] — два тега идентичны между собой. Эти конструкции позволяют выводить URL вашего сайта. При создании шаблона мы использовали тег [(base_url)] для указания базового URL для корректной работы с относительными путями.
[*pagetitle*] — эта конструкция выводит содержимое поля «Заголовок», которое мы будем заполнять на странице создания/редактирования ресурса.
[*longtitle*] — выводит содержимое поля «Расширенный заголовок». Обычно используется как главный заголовок <h1> на странице.
[*description*] — выводит содержимое поля «Описание». Это поле будем использовать для вывода содержимого в META-теге description.
[*introtext*] — выводит содержимое поля «Аннотация». Это поле чаще всего используют при создании новостей, заметок в блоге и т.п. для организации страниц с кратким описанием заметок.
[*content*] — основное содержимое страниц. Конструкция выводит любой текст или HTML код, написанный или отредактированный в визуальном редакторе.
[*id*] — выводит идентификатор ресурса.
[*alias*] — выводит псевдоним ресурса.
[~идентификатор~] — выводит URL адрес ресурса, идентификатор которого указан. Например, если ID страницы «Новости» — 4, а псевдоним этой страницы — «news», то конструкция [~4~] выведет URL вашей страницы с новостями.
Обратите внимание: результатом обработки данной конструкции является лишь строка в виде URL страницы, не перепутайте ее со ссылкой на документ. Ссылка на страницу с использованием этой конструкции будет иметь следующий вид:
<a href=”[~4~]”>Новости</a>
Для простоты понимания приведенных выше тегов MODx я сделал изображение, на котором изображена страница редактирования ресурса с указанием того, какие теги отвечают за вывод в шаблоне содержимого того или иного поля.

Выше представлены часто употребляемые теги MODx. Но вы должны иметь ввиду, что всего тегов существует гораздо больше. И, безусловно, при более детальном знакомстве с MODx они вам тоже понадобятся.
Чтобы вы имели о них представление, я дополню список менее распространенными тегами.
[*pub_date*] — дата публикации ресурса
[*unpub_date*] — дата завершения публикации
[*createdby*] — идентификатор пользователя, создавшего ресурс
[*createdon*] — дата создания ресурса
[*editedby*] — идентификатор пользователя, редактировавшего ресурс
[*editedon*] — дата редактирования ресурса
[*contentType*] — тип содержимого (например, text/html)
[*type*] — тип (ресурс, папка или ссылка)
[*published*] — опубликован ли ресурс (1|0)
[*parent*] — номер (ID) родительского ресурса
[*isfolder*] — является ли ресурс папкой (1|0)
[*richtext*] — используется ли при редактировании страницы визуальный редактор
[*template*] — номер (ID) используемого шаблона для ресурса
[*menuindex*] — порядковый номер отображения в меню
[*searchable*] — доступен ли ресурс для поиска (1|0)
[*cacheable*] — кэшируется ли ресурс (1|0)
[*deleted*] — ресурс удален (1|0)
[*deletedby*] — идентификатор пользователя, удалившего ресурс
[*menutitle*] — заголовок меню, если таковой есть
[*donthit*] — слежение за количеством посещений отключено (1|0)
[*haskeywords*] — ресурс содержит ключевые слова (1|0)
[*hasmetatags*] — ресурс имеет META теги (1|0)
[*privateweb*] — ресурс входит в частную группу пользовательских документов (1|0)
[*privatemgr*] — ресурс входит в частную группу менеджерских документов (1|0)
[*content_dispo*] — вариант выдачи содержимого (1 — для отображения | 0 — прикрепленное для скачивания)
[*hidemenu*] — документ не отображается в меню (1|0)
[(modx_charset)] — выводит название используемой кодировки
[^qt^] — выводит время запросов к базе данных
[^q^] — выводит количество запросов к базе данных
[^p^] — выводит время работы PHP скриптов
[^t^] — выводит общее время генерации страницы
[^s^] — выводит источник содержимого (база или кэш)
Теперь, когда вы познакомились с основными тегами MODx, применим некоторые из них для наших шаблонов. Я предлагаю добавить в шаблон вывод названия страниц и их описание. Для этого откройте для редактирования чанк HEAD и в теге <title> вставьте констркуцию:
[*pagetitle*] | [(site_name)]
Эта конструкция будет выводить в названии HTML страницы название ресурса и заголовок сайта, разделенные знаком «|».
Затем можно добавить META тег description, в содержимое которого вписываем конструкцию [*description*]
<meta name="description" content="[*description*]"/>
После этого SEO описание для любой страницы на вашем сайте вы сможете делать заполнив поле «Описание» при редактировании ресурса. Опять же в этом моменте вы прочувствуете всю прелесть того, что мы не пожалели времени в самом начале настройки нашего шаблона и вынесли содержимое тега <head> в отдельный чанк. Теперь нам не нужно вносить изменения во все 3 шаблона, достаточно только отредактировать наш чанк HEAD.
Раз мы уже начали редактировать содержимое этого чанка, то можно сразу изменить кодировку в шаблоне. Если помните, у нас она была выставлена в UTF-8. В списке выше указан тег, который выводит название кодировки используемой на сайте.
[(modx_charset)]
После внесения всех перечисленных изменений чанк HEAD будет иметь следующий вид:
<head>
<base href="[(site_url)]" />
<title>[*pagetitle*] | [(site_name)]</title>
<meta http-equiv="Content-Type" content="text/html; charset=[(modx_charset)] "/>
<meta name="description" content ="[*description*]"/>
<meta http-equiv="imagetoolbar" content="no" />
<link rel="stylesheet" href="/assets/templates/site/styles/layout.css" type="text/css" />
<script type="text/javascript" src="/assets/templates/site/scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="/assets/templates/site/scripts/jquery.jcarousel.pack.js"></script>
<script type="text/javascript" src="/assets/templates/site/scripts/jquery.jcarousel.setup.js"></script>
</head>
Вы можете посмотреть, как выглядит заголовок страницы в окне браузера. У меня выглядит так:

Сейчас неплохо было бы автоматизировать вывод главного заголовка <h1> на страницах сайта. Для этого отправляемся на страницу редактирования чанка и перед уже знакомым тегом вывода содержимого страницы вставляем вывод заголовка, содержимое которого будем брать из поля «Расширенный заголовок». Как мы видели из рисунка — этому полю соответствует тег [*longtitle*].
После внесения изменений чанк CONTENT примет следующий вид:
<div id="content">
<h1>[*longtitle*]</h1>
[*content*]
</div>
Таким образом, главные заголовки <h1> наших страниц будут выставляться автоматически, и их не нужно будет вписывать в визуальном редакторе. Главное — это не оставлять пустым поле «Расширенный заголовок» при редактировании ресурса, содержимое которого будет использоваться в качестве заголовков. Так же для организации заголовков вы можете использовать содержимое других полей, например, поле «Заголовок». В этом случае в чанк CONTENT вам необходимо будет добавлять конструкцию <h1>[*pagetitle*]</h1>. Стили для заголовка в шаблоне уже прописаны. Поэтому, если поле «Расширенный заголовок» вы не оставили пустым на странице у вас появится заголовок. Вот так он выглядит:

После этого нам необходимо добавить вывод заголовков в шаблон «Во всю ширину», ведь вы помните, что в этом шаблоне чанка CONTENT у нас нет, а содержимое страниц мы вызываем сразу из шаблона с помощью тега [*content*]. Поэтому, отправляемся на страницу редактирования шаблона и добавляем над этим тегом вывод заголовка: <h1>[*longtitle*]</h1>.
Итак, в этом уроке мы более подробно познакомились со специальными тегами MODx и некоторые из них уже применили на практике при создании нашего сайта.
По ходу урока мы внесли изменения в два чанка на нашем сайте: HEAD и CONTENT и в шаблон «Во всю ширину». Я приведу ниже файлы с кодом для каждого из них. При желании, можете скопировать их к себе:
Автор: Ефимов Виктор
Вы можете также посмотреть другие уроки по созданию сайта на MODx:
- Урок 1 — Вступительный
- Урок 2 — Установка MODx CMS
- Урок 3 — Первоначальная настройка системы
- Урок 4 — Интеграция дизайна в систему управления
- Урок 5 — Настройка шаблона, разбиение на чанки
- Урок 6 — Дерево документов и создание страниц
- Урок 7 — Реализация динамического меню
- Урок 8 — Создание шаблонов и вывод содержимого страниц
- Урок 9 — Работа со специальными тегами MODx
- Урок 10 — Работа с визуальным редактором в MODx
- Урок 11 — Реализация цепочки навигации «Хлебные крошки»
- Урок 12 — Создание ленты новостей. Сниппет Ditto
- Урок 13 — Постраничное разбиение новостной ленты
- Урок 14 — TV параметры MODx. Добавление изображений ресурсам
- Урок 15 — Форма обратной связи в MODx. Сниппет eForm
- Урок 16 — Реализация вспомогательного меню на странице
- Урок 17 — Вывод слайд-шоу на главной странице с помощью сниппета Ditto
- Урок 18 — Вывод ключевых слов в MODx
- Урок 19 — Организация поиска по сайту. Сниппет AjaxSearch
- Урок 19.1 — Вывод изображения, прикрепленного с помощью TV параметра, в результатах поиска AjaxSearch
- Урок 20 — Карта сайта для посетителей и поисковых машин
- Урок 21 — Реализация галереи изображений
- Урок 22 — Перенос готового MODx сайта на хостинг
- Урок 23 — Скачать готовый MODx сайт, соответствующий веб-стандартам
blog comments powered by Disqus
- 700+ эффектных jQuery Mootools CSS решений для веб-разработчиков. Путеводитель по плагинам
- Свежие профессиональные jQuery плагины. Первая подборка в 2011 году
- Большая коллекция jQuery и Mootols красивостей
- Огромная коллекция ресурсов с бесплатными CSS шаблонами и заготовками
- Обзор и сравнительная оценка системы управления MODx
- Инструкция по созданию сайта на MODx. Урок 4 — Интеграция дизайна в систему управления
- 96 ресурсов, которые облегчат жизнь web-разработчику
- 15 советов которые помогут вам в дальнейшем грамотно и комфортно работать с CSS
- 20+ свежих CSS3 jQuery плюшек. Часть 11
- Сервис для быстрого создания сайтов
- Готовые JavaScript и CSS решения для ваших проектов
- 11 плагинов jQuery для создания интересных элементов пользовательского интерфейса
- Несколько красивых фишек для ваших проектов
- 700+ эффектных jQuery Mootools CSS решений для веб-разработчиков
- Отборные скрипты на халяву. Сделайте свой сайт лучше

