Наши заметки о MODx
В этом разделе мы будем собирать небольшую копилку секретов по работе с системой управления контентом сайта (CMS) MODx. Эти заметки ни в коем случае не претендуют на лавры документации. На нашем сайте тема MODx вообще занимает небольшой уголок, и эти материалы мы размещаем только потому, что по роду основной работы нам приходится оказывать техническую поддержку нескольким десяткам организаций, использующих наши прототипы сайтов. В то же время кое-что может пригодиться и другим людям.
Мы не претендуем на изложение "истины в последней инстанции". Наверняка в этих заметках гуру MODx найдут неточности и ошибки. Мы будем очень благодарны, если на это нам укажут в комментариях.
В заметках мы стараемся не просто сразу приводить готовое правильное решение, но и показываем, как мы набивали шишки в процессе поиска.

Шаблоны, чанки, плагины и сниппеты в MODx


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

Каждая страница сайта имеет шаблон. Шаблонов может быть много, а может быть и только один. Шаблон определяет внешний вид страницы и дополнительные данные, расположенные вне основного контента.

То, что вы сейчас читаете - контент страницы (содержимое документа). Контент создается и редактируется в редакторе (обычно "вижуальном").

Всё, что вы видите вокруг контента (шапку, подвал, боковые колонки) - зафиксировано в шаблоне страницы. Шаблон представляет собой HTML-код, в котором, в нужных местах, вставлены вызовы других ресурсов - чанков и сниппетов, а также переменные MODx. В момент отправки страницы в браузер пользователя вызовы ресурсов заменяются их вычисленными значениями и пользователь получает чистый HTML.

Примитивнейший шаблон может иметь такой вид:

<html> <head> <title>[ (site_name) ] | [ *pagetitle* ]</title> </head>   <body> <h1>[(site_name) ]</h1> <h2>[ * pagetitle * ]</h2> <p> <strong>[ * introtext * ]</strong> </p> [ * content * ] </body> </html>

Если применим этот шаблон для этой страницы сайта, то она отобразится в браузере вот так:

Примитивный шаблон

Примитивный шаблон

Разумеется, такие шаблоны сейчас не применяют - разве что единичные любители "научного" стиля. Но мы видим, что код шаблона на стороне пользователя преобразовался. Это произошло благодаря применинию специальных тегов MODx.

Ниже приводится список наиболее часто используемых специальных тегов системы MODx, которые можно применять при написании
html-шаблонов.


  [ *pagetitle* ] - выводит заголовок документа 
  [ *longtitle* ] - выводит расширенный заголовок документа 
  [ *description* ] - описание документа 
  [ *introtext* ] - аннотация документа 
  [ *content* ] - содержимое документа 
  [ *alias* ] - псевдоним документа 
  [ *id* ] - идентификатор документа 
  [ ~идентификатор~ ] - создает URL документа с данным идентификатором 
  [ (base_url) ]/[ (site_url) ] - корневой URL сайта (например "http://modx.ru/") 
  [ (site_name) ] - название сайта, заданное в разделе "Конфигурация".  

Каждый документ сайта имеет уникальный идентификатор (id), назначаемый автоматически и ряд свойств, которые устанавливает редактор. Вот скриншот установки свойств этой страницы, на котором показано, как соотносятся специальные теги со свойствами документа:

Свойства страницы

Использовав некоторые специальные теги в шаблоне мы получили в браузере пользователя вполне читабельную, хоть и некрасивую страницу.

А откуда вообще берутся шаблоны? Как правило, изготавливаются собственными руками, с помощью "подходящих" или подходящих редакторов. Под "подходящими" (в кавычках) мы понимаем различные "вижуальные" редакторы, под подходящими (без кавычек) простые текстовые редакторы. Мы используем только Notepad++.

Шаблоны, заточенные под MODx, можно взять из Resources на сайте MODx. Разумеется, для серьезных сайтов эти общеизвестные шаблоны применять не стоит, а вот посмотреть, "как люди делают" можно. Кроме того, в Интернете существуют сайты, специально отрабатывающие сложные шаблоны, как правило с использованием CSS. Ссылки на некоторые см. в нашей правой колонке.

 

24-01-2009 11:27:59



    Содержание раздела «Ресурсы MODx»:
Комментарии любых посетителей

Написать комментарий


 
Алексаедр
Комментарий
Структура сайта
Реплика №1: 05.02.2011, 02:49:29
Если не затруднит.

Нужно, чтобы статьи (большое количество), для снятия нагрузки на MODx (и базы данных), создавались и выводились минуя дерево сайта.

Например, я создаю 15 страниц (ресурсов) - это главные темы сайта и в них могу создавать подтемы (дочерние).
На этих страницах должны выводиться названия и краткое описание статей - что-то вот по типу как в этой статье - "читабельную, хоть и некрасивую страницу" - как пример, но таких много на одной странице - может 10 или больше.

Мне говорили, что можно сделать примерно так:
создавать таблицу и туда выводить (сниппетом вероятно) краткие описания статей со ссылками на статьи (что-то типа вывода новостей?).
Как при одно странице (теме) описания выводить на множестве, с продолжением, по типу блога?
Но сами статьи должны быть отдельными страницами и не в дереве.

И еще - комментариев и регистрации на сайте не будет.

Как можно организовать подобное?
задавал вопросы на форуме MODx, но ответ так и не получил...