Форум русской поддержки Joomla!® CMS
07.12.2016, 22:13:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 1662 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sasha8888
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 48



« : 18.08.2014, 01:46:30 »

Задавался изначально целью оптимизации модуля вывода категорий, проблема в том, что при разветвленном древе категорий начинается сильная нагрузка сервера по части 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. Просьба сильно не пинать за описание, т.к. очень давно в паблик свои разработки не выбрасывал, все пожелания стараюсь учесть. На всякий случай прикрепил файлик к теме.

* mod_asdat_vm_cats.zip (5.19 Кб - загружено 106 раз.)
Записан
 
tigra-uki
Давно я тут
****

Репутация: +10/-0
Offline Offline

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #1 : 18.08.2014, 13:55:47 »

sasha8888, подскажите, пожалуйста, как добиться такого отображения как на Вашем демо?
если возможно, выложите, пожалуйста, скрин настроек модуля.
Спасибо!
Записан
sasha8888
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 48



« Ответ #2 : 18.08.2014, 23:14:57 »

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

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 48



« Ответ #3 : 19.08.2014, 12:23:16 »

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

Репутация: +10/-0
Offline Offline

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #4 : 19.08.2014, 16:22:02 »

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

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

удачи в создании полезных модулей! Azn
Записан
sasha8888
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 48



« Ответ #5 : 19.08.2014, 22:58:37 »

понятно, ок, спасибо, пожалуйста.
Записан
tigra-uki
Давно я тут
****

Репутация: +10/-0
Offline Offline

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #6 : 19.08.2014, 23:24:36 »

sasha8888, подскажите, пожалуйста, не наблюдались ли конфликты с jquery?
Записан
sasha8888
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 48



« Ответ #7 : 21.08.2014, 09:55:48 »

модуль вообще без jquery работает, потому навряд
Записан
mrstorm
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 72


« Ответ #8 : 29.01.2015, 10:03:55 »

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

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 1261



« Ответ #9 : 31.03.2015, 14:51:26 »

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

Репутация: +0/-0
Offline Offline

Сообщений: 11



« Ответ #10 : 18.08.2015, 09:31:29 »

Добрый день. Данный модуль на Joomla 3.4 не работает. Будет версия под актуальную сборку?!
Поддерживаю вопрос, уточню что для VM 3, нужен работающий модуль вывода категорий - для меня любой)) от аккордеона до баяна, лишь бы работал.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet