MSQ Catalog
Техническая информацияПлатформа: MODx Evolution Текущяя версия: beta v. 0.4 Статус: Готово Комплектация: модуль + сниппет |
Скачать
|
Краткое описание
MSQ Catalog - это модуль для CMS MODx. Он позволяет использовать алтернативный способ организации каталогов. Все основные позиции каталога храняться в базе данных (в своей таблице) и отображаются в модуле ввиде таблицы.В публичную часть сайта данные выводяться с помощью сниппета. При выводе данных в сниппете настраивается фильтр вывода по категории. Такой принцип позволяет использовать документы в MODx как разделы и выводить на них отфильтрованные позиции из каталога.
Внешний вид вывода настраивается через чанк используя предустановленные плейсхолдеры.Преимущества использования
- альтернативный вариант управления каталогом
- импорт/экспорт в csv
- удобный поиск нужных позиций
Функции
В скобках указан статус готовности функции в текущей версии.
- создание, редактирование и удаление позиций каталога; [готово]
- просмотр подробной информации по выбранной позиции в публичной части сайта: [готово]
- редактирование описания позиции каталога с использованием визуального редактора: [готово]
- настройка внешнего вида вывода каталога на страницах сайта в публичной части; [готово]
- установка фильтра вывода данных из каталога по категории; [готово]
- фильтр отображения данных каталога в модуле по столбцам: [не готово]
- поиск по каталогу; [не готово]
- импорт/экспорт в csv; [не готово]
Примеры внедрения
Ниже приведет наш пример внедрения на примере сайта о ночных клубах Music-Cross.
Текущий внешний вид модуля. Здесь представлен список клубов в базе сайта. Все клубы были созданы через модуль.

При добавлении новой позиции открывается следующая форма.

Организация вывода информации представлена ниже. Слева создана структура разделов с помощью документов, а в содержании ресурса вводится сниппет с установленным фильтром (&filter) и указанными шаблонами отображения (&tpl и &rowTpl).

Далее представлены две страницы с данными из каталога. В первом случае отображены все клубы списком. Во втором случае показан один выбранный клуб.

Весь внешний вид вывода настроен с помощью чанков. Ниже пример одного из них.

Установка
- Скопировать файлы модуля в папку assets/modules/msqcatalog/
- В системе управления перейти "Элемента" -> "Управление элементами" -> "Сниппеты"
- Нажать ссылку "Новый сниппет"
- Название сниппета: msqcatalog,
Описание: Каталог,
Открыть файл "snippet_MSQ Catalog beta v_0-4.txt", скопировать содержимое и вставить в поле "Код сниппета". Нажать кнопку "Сохранить". - В системе управления перейти "Модули" -> "Управление модулями" -> "Сниппеты"
- Нажать ссылку "Новый модуль"
- Название модуля: MSQ Catalog,
Описание: Каталог,
Открыть файл "module_MSQ Catalog beta v_0-4.txt" , скопировать содержимое и вставить в поле "Код модуля (php)". Нажать кнопку "Сохранить". - Создать\r\nчанки для отображения каталога на страницах сайта. Примеры чанков можно найти в папке install.
- Создайте страницы в структуре сайта, которые будут соответствавать разделам Вашего каталога.
- В нужном месте на странице вставьте вызов сниппета с настройками фильтра раздела и указанием чанков шаблонов отображения.
Пример вызова

Параметры сниппета
| Параметр | Описание и значение | Значение по умолчанию | Примечание |
| &filter |
Фильтр по раделам `all` - все разделы `Название раздела` - любое название, которое вводит пользователь | нет |
Обязательный параметр. В случае если указанно раздела не существует, сниппет ничего не выведет на страницу. Так же будет если параметр не будет указан. |
| &tpl |
Чанк с шаблоном одной позиции в общем списке. | нет |
Обязательный параметр. Указываем любой созданный чанк. Пример: &tpl=`название-чанка` |
| &rowTpl | Чанк с шаблоном одной позиции при подробном просмотре.
| нет |
Обязательный параметр. Указываем любой созданный чанк. Пример: &rowTpl=`название-чанка` |
Плейсхолдеры
Все плейсходеры описаны в документации. Документация прикреплена к архиву с модулем в папке "doc".
Пример чанка

Пример структуры каталога
Структуры мы создаем с помощью документов. В дальнейшем в каждом документе выводим сниппет с фильтром по нужному разделу.

