Пример модуля: меню категорий VirtueMart
Ответ
Задача
Требуется создать модуль Joomla!, обеспечивающий вывод категорий верхнего уровня магазина VirtueMart.
Решение
Укажите следующие параметры модуля DW Anything.
| Параметр | Значение | Описание |
|---|---|---|
|
SQL-запрос |
SELECT `c`.`category_id`, `c`.`category_name` FROM `#__vm_category_xref` AS `x` LEFT JOIN `#__vm_category` AS `c` ON `x`.`category_child_id` = `c`.`category_id` WHERE `x`.`category_parent_id` = 0 AND `c`.`category_publish` = 'Y' ORDER BY `c`.`list_order` |
SQL-запрос формирует список категорий VirtueMart, для которых не заданы ссылки на родительские категории. Из списка выбираются столбцы с кодом (ID) и названием категории. Обратите внимание, что в тексте запроса можно использовать стандартный префикс Joomla! для таблиц «#_» |
| HTML-код шапки |
<ul class="menu"> |
Введите HTML-код, который требуется отобразить перед выводом строк данных, полученных в результате выполнения SQL-запроса. В данном случае мы открываем маркированный список с указанием класса menu, что аналогично отображению стандартного меню Joomla! |
| Шаблон |
<li> |
Введите HTML-код для отображения каждой из строк, полученных в результате выполнения SQL-запроса. Для вставки данных из запроса используйте имена полей, заключенные в фигурные скобки ({}). Для формирования меню нужно указать элементы списка, содержащие ссылки на страницы категорий VirtueMart. В адрес ссылки подставляется полученное из базы данных значение {category_id}, а в качестве текста ссылки используется значение {category_name}. Общий формат пункта меню в этом примере также соответствует стандартному меню Joomla! |
| HTML-код подвала |
</ul> |
Введите HTML-код, который требуется отобразить после вывода строк данных, полученных в результате выполнения SQL-запроса. В данном случае достаточно тега, закрывающего маркированный список |
|
Суффикс класса модуля |
_menu |
Для отображения сформированного списка категорий в виде меню для большинства стандартных шаблонов Joomla! требуется указать суффикс _menu |
![[info]](http://l-stat.livejournal.com/img/community.gif)


Добавить комментарий