Фальсификации выборов президента: как это делается Не смотря на огромное количество нарушений ...
АЛЫЕ ПАРУСА В ПЕТЕРБУРГЕ - (0)«Алые паруса» — один из самых известных праздников в Северной столице, ...
Владимир Румянцев.Ангелы и коты - (0)Владимир Румянцев.Ангелы и коты. Владимир Румянцев родился в 1957 году, рисовать начал в ...
фото Санкт-Петербурга - (0)Санкт-Петербург Санкт-Петербург невероятно красивый город, думаю даже коренным "питерцам" будет и...
Ближневосточная проблема - простое объяснение за пять минут - (0)Ближневосточная проблема - простое объяснение за пять минут простое объяснение ближневосточ...
MODx. Базовые вещи |
Шаблон - содержит общую верстку страницы со структурой и дизайном. Также в нем определяются места для вывода динамического содержимого. Для каждого документа можно выбрать свой шаблон.
Параметры (TV) - дополнительные параметры, которые подключаются к шаблону. Параметры могут быть разных типов (текст, ссылка, файл, дата, число и т.д.). Более подробно о типах ждите в следующих статьях.
Чанк - маленький шаблон, который может использоваться как просто для вывода какого-то содержимого (телефона на всех страницах), так и для обработки (шаблон отправляемого письма eForm, шаблон каталога выводимого Ditto и т.д.). Таким образом, вид (представление) информации отделяется от места обработки и легко управляется.
Сниппет - код для обработки информации. Анализируют полученную информацию (например, сообщение пользователя) и предоставляют результат (например, отправляют сообщение по почте, а пользователю показывают сообщение о результате). Сниппеты формируют меню (Wayfinder), выводят списки статей с разбиением на страницы (Ditto), строят формы (eForm). Для вывода используют Чанки.
Плагин - код, который запускается при наступлении какого-то события. Например, подсвечивает искомые слова (Search Highlighting) при переходе со страницы поиска. Событий много и их рассмотрение стоит отдельной статьи.Специальные теги
Для вывода динамических данных используются специальные теги.
Системные
[(site_name)] - название сайта
/ или [(site_url)] - адрес сайта
[(modx_charset)] - используемая кодировка
[^qt^] - время на запросы к базе данных
[^q^] - запросов к базе данных
[^p^] - время на работу PHP скриптов
[^t^] - общее время на генерацию страницы
[^s^] - источник содержимого (база или кэш)Стандартные
[pagetitle*] - заголовок документа
[longtitle*] - расширенный заголовок документа
[description*] - описание документа
[introtext*] - аннотация документа
[content*] - содержимое документа
[alias*] - псевдоним документа
[id*] - идентификатор (номер) документа
0 - дата публикации документа
[unpub_date*] - дата завершения публикации
[createdby*] - Идентификатор пользователя создавшего документ
[createdon*] - Дата создания документа
[editedby*] - Идентификатор пользователя редактировавшего документ
[editedon*] - Дата редактирования документа
[~идентификатор~] - URL указанного документаДополнительные
[type*] - вариант (документ, папка или ссылка)
[contentType*] - тип содержимого (например, text/html)
[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*] - Документ имеет метатеги (1|0)
[privateweb*] - Документ входит в частную группу пользовательских документов (1|0)
[privatemgr*] - Документ входит в частную группу менеджерских документов (1|0)
[content_dispo*] - Вариант выдачи содержимого (1 - для отображения | 0 - для скачивания)
[hidemenu*] - Документ не отображается в меню (1|0)Параметры TV, сниппеты и чанки
[НазваниеПараметраTV*] - выводит значение параметра в документе.
{{НазваниеЧанка}} - возвращает содержимое чанка.
[[НазваниеСниппета]] - возвращает результат работы сниппета. Также можно передавать сниппету дополнительные параметры, перечисляя их при вызове - [[НазваниеСниппета? &параметр1=`значение1` &параметр2=`значение2` &параметрN=`значениеN`]
[+НазваниеПеременной+] - встречается в чанках, которые используются для обработки (Ditto, eForm и т.д.). После обработки вместо них вставляются значения. Таким образом, это тоже вроде мини-языка, но для сниппетов.Нюансы
1) На самом деле есть два варианта вызова сниппета:
[[НазваниеСниппета]] - кэшируемый вызов сниппета
[!НазваниеСниппета!] - некэшируемый вызов сниппета
2) При использовании дополнительных параметров в сниппете нужно убедиться, что запись не разбивается переносом строки. Если это так, то сниппет откажется работать.Где использовать
Все очень гармонично используется друг с другом.
В шаблонах можно использовать параметры TV, сниппеты и чанки.
В чанках можно вызывать сниппеты, параметры TV и другие чанки.
В сниппетах можно вызывать вообще все, но через PHP.
В конечном счете вам вернется итоговый результат обработки всех сниппетов/чанков/параметровTV.Пример шаблона
<html>
<head>
<title>[(site_name)] | [pagetitle*]</title>
<meta http-equiv="Content-Type" content="text/html; charset=[(modx_charset)]" />
<base href="[(site_url)]"></base>
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="[(site_url)][~11~]" />
</head>
<body>
<div id="header">
<h1><a id="logo" href="[~[(site_start)]~]" title="[(site_name)]">[(site_name)]</a></h1>
<div id="ajaxmenu"> [[Wayfinder?startId=`0` &outerTpl=`mh.OuterTpl` &innerTpl=`mh.InnerTpl` &rowTpl=`mh.RowTpl` &innerRowTpl=`mh.InnerRowTpl` &firstClass=`first` &hereClass=``]] </div>
</div>
<h2>News:</h2>
[[Ditto? &startID=`2` &summarize=`2` &total=`20` &commentschunk=`Comments` &tpl=`nl_sidebar` &showarch=`0` &truncLen=`100` &truncSplit=`0`]]
<div id="content">
<h2>[longtitle*]</h2>
[#content*]
</div>
</body>
</html>
На эту информацию опирается все остальное.
Источник: http://www.modx-cms.ru/
Рубрики: | MODx |
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |