Делаем каталог на CMS MODx ( Ditto + PHx )
Для работоспособности, приведённого ниже примера каталога на CMS MODx, необходимо установить плагин PHx
Этот пример позволяет формировать структуру каталога автоматически, без какого либо участия со стороны администратора сайта. Редакторам остаётся лишь наполнить каталог добавляя папки ( дочерние ресурсы контейнеры) или простые документы ( дочерние ресурсы) .
Так как это решение базируется на ditto, то совсем не трудно развить этот пример до чего нибудь более интересного, например добавить теги или фильтрацию.
1) Создаём папку в дереве документов modx ( контейнер документов ), где у нас будет находиться каталог
2) Создаём шаблон для отображения каталога и для этого шаблона создаём две переменные ( tv )
cat - тип текст , значение по умолчанию - @CHUNK catalog
catimage - тип image ( поле для ввода пути к изображению ) , визуальный компонент- image.
3) создаём чанк catalog
Содержимое чанка выполняется если текущий документ папка (текущий ресурс - контейнер).
&noResults=`{{ditto_empty}}` - чанк из которого берётся содержимое в случае если не найдены дочерние документы. Можно обойтись пробелом.
Первый запрос выводит только папки , второй только документы в текущей папке.
То есть вначале - каталог , ниже содержимое категории.
4) Выводим картинку и название категории, ниже список подкатегорий.
Cоздаём чанк catalog_tpl Выводим картинку и название категории, ниже список подкатегорий.
5) Формируем вывод подкатегорий . Создаём чанк subcatalog_tpl
6) Создаём чанк catalog_content_tpl
7) Добавляем CSS
В шаблон каталога вставляем вывод TV - [*cat*]
Пример того что получилось
Основное достоинство данного решения - автоматическое формирование всей структуры каталога, просто добавляем дочерние документы и папки в общее дерево документов modx.
Шаблон и переменные наследуются автоматически. Для картинок можно прикрутить directresize.
Чтобы вывести эту конструкцию на страницу вставляем вывод TV например так. Но лучше так:
Posts: 32
Reply #43 on : Втр Январь 17, 2012, 09:10:55
Posts: 32
Reply #42 on : Пнд Сентябрь 19, 2011, 13:06:20
Posts: 32
Reply #41 on : Птн Июнь 10, 2011, 07:54:45
Posts: 32
Reply #40 on : Пнд Ноябрь 22, 2010, 12:25:42
Posts: 32
Reply #39 on : Вск Ноябрь 21, 2010, 22:37:22
Posts: 32
Reply #38 on : Сбт Ноябрь 20, 2010, 21:31:19
Posts: 32
Reply #37 on : Сбт Ноябрь 20, 2010, 21:28:12
Posts: 32
Reply #36 on : Срд Сентябрь 29, 2010, 22:47:32
Posts: 32
Reply #35 on : Чтв Август 19, 2010, 08:31:05
Posts: 32
Reply #34 on : Пнд Август 16, 2010, 07:01:21
Write a comment