-Цитатник

Фальсификации выборов президента: как это делается - (0)

Фальсификации выборов президента: как это делается Не смотря на огромное количество нарушений ...

АЛЫЕ ПАРУСА В ПЕТЕРБУРГЕ - (0)

«Алые паруса» — один из самых известных праздников в Северной столице, ...

Владимир Румянцев.Ангелы и коты - (0)

Владимир Румянцев.Ангелы и коты. Владимир Румянцев родился в 1957 году, рисовать начал в ...

фото Санкт-Петербурга - (0)

Санкт-Петербург Санкт-Петербург невероятно красивый город, думаю даже коренным "питерцам" будет и...

Ближневосточная проблема - простое объяснение за пять минут - (0)

Ближневосточная проблема - простое объяснение за пять минут  простое объяснение ближневосточ...

 -Фотоальбом

Посмотреть все фотографии серии природа фото Andy Mumford
природа фото Andy Mumford
05:54 16.05.2009
Фотографий: 40
Посмотреть все фотографии серии Общая
Общая
04:52 16.05.2009
Фотографий: 1
Посмотреть все фотографии серии позитиф
позитиф
03:00 01.01.1970
Фотографий: 0

 -Я - фотограф

 -Поиск по дневнику

Поиск сообщений в spacesite

 -Подписка по e-mail

 

 -Интересы

создание сайта продвижение сайтов авто бизнес

 -Сообщества

Читатель сообществ (Всего в списке: 1) Photoshopinka

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 15.05.2009
Записей:
Комментариев:
Написано: 1213


MODx. Базовые вещи

Воскресенье, 06 Сентября 2009 г. 17:47 + в цитатник

Шаблон - содержит общую верстку страницы со структурой и дизайном. Также в нем определяются места для вывода динамического содержимого. Для каждого документа можно выбрать свой шаблон.

Параметры (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
Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку