Модуль вывода всего дерева категорий

  • 10 Ответов
  • 2538 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Задавался изначально целью оптимизации модуля вывода категорий, проблема в том, что при разветвленном древе категорий начинается сильная нагрузка сервера по части MySQL запросов, особенно если включен mod_rewrite - VM на каждую ссылку на категорию делает минимум 1 запрос, чтобы получить ее slug, если третий уровень вложенности, то 3 запроса и так по накопительной. Описание модуля на русском
Этот модуль выводит все дерево категорий VirtueMart 2 без кеша категорий com_virtuemart_cats.
Имеются настройки фильтрации количества уровней, фильтрация от текущей категории, выбор текущего активного пункта меню.
Это пока начальная версия 0.9. Основное отличие от аналогичных модулей - выбор всего дерева в 1 запрос, дальше обработка и рекурсивный выбор.
Ну и дополнительно, но зависит от уровня вложенности и текущей позиции - рекурсивный запрос активной ветви категорий, чтобы выделить их в меню.
Сравнивая модуль со стандартным на демо сайте - даже после кеширования дерева категорий использует на 9 запросов меньше стандартного модуля при этом выводя все 4 уровня. Чем больше и сложнее дерево, тем эффективнее работа. Также, что очень важно, модуль не использует генерацию ссылок на страницы категорий через JRoute, как я заметил на нескольких сайтах при выводе всего дерева в 40-60 категорий, вложенностью до 4-5 уровней может генерироваться пара сотен запросов в базу данных сайта, чтобы вывести SEF адреса.
Это версия 0.9, в ней пока не учитываются SEF-настройки компонента для генерации ссылок на страницы категорий.
ссылка на демо - demo
ссылка на скачивание - скачать

P.S. Просьба сильно не пинать за описание, т.к. очень давно в паблик свои разработки не выбрасывал, все пожелания стараюсь учесть. На всякий случай прикрепил файлик к теме.

*

tigra-uki

  • ****
  • 374
  • [+]10 / [-]0
  • Joom'лiстка
sasha8888, подскажите, пожалуйста, как добиться такого отображения как на Вашем демо?
если возможно, выложите, пожалуйста, скрин настроек модуля.
Спасибо!
Слишком сконцентрированное внимание необходимо разбавлять действием.

раза 2 или 3 пробовал прикрепить скрин к ответу, в итоге сообщение не отправлялось
ладно, сделал вот так
скрин
попробуйте поставить количество уровней 10, заметил, что в этой версии есть глюк с этим, в новой версии такого уже не будет

больше запись для себя, чтобы не забыть
насколько заметил с версии 2.6.8 немного иначе генерируются ссылки на категории
еще в 2.6.6, под которую делал модуль, идет дерево в ссылке
т.е. так было раньше http://demo.asdat.info/shop/headgear/hats
а сегодня сам VirtueMart делает только такую http://demo.asdat.info/shop/hats
правда для демо я брал сборку с сайта VirtueMart, попробую поставить все вручную, как чаще всего делают

*

tigra-uki

  • ****
  • 374
  • [+]10 / [-]0
  • Joom'лiстка
раза 2 или 3 пробовал прикрепить скрин к ответу, в итоге сообщение не отправлялось
ладно, сделал вот так
скрин
попробуйте поставить количество уровней 10, заметил, что в этой версии есть глюк с этим, в новой версии такого уже не будет

sasha8888, спасибо Вам большое за модуль!
Выяснила, что причина проблемы, которая возникала, просто конкретно в моем шаблоне.

удачи в создании полезных модулей! :)
Слишком сконцентрированное внимание необходимо разбавлять действием.

понятно, ок, спасибо, пожалуйста.

*

tigra-uki

  • ****
  • 374
  • [+]10 / [-]0
  • Joom'лiстка
sasha8888, подскажите, пожалуйста, не наблюдались ли конфликты с jquery?
Слишком сконцентрированное внимание необходимо разбавлять действием.

модуль вообще без jquery работает, потому навряд

*

mrstorm

Спасибо за модуль.
А можно ли как то выводить категории выпадающим списком? Как на крупных сайтах, например доставка.ру ?Наводишь на кнопку - Категории - появляются родительские. наводишь далее - появляются дочерние и т.д.

*

yrygvay

Добрый день. Данный модуль на Joomla 3.4 не работает. Будет версия под актуальную сборку?!
Смотрю....

Добрый день. Данный модуль на Joomla 3.4 не работает. Будет версия под актуальную сборку?!
Поддерживаю вопрос, уточню что для VM 3, нужен работающий модуль вывода категорий - для меня любой)) от аккордеона до баяна, лишь бы работал.