VM 2.x Как реализовать простое меню с подкатегориями в активной категории?

Terin'yar

Постоялец
Регистрация
20 Июл 2010
Сообщения
69
Реакции
6
Если проще описать задачу, то нужно, что бы обычное меню категорий в Virtuemart 2 располагалось в нескольких местах шаблона. Но таким образом, что бы в месте отображения первичных категорий в дереве категорий, они отображались всегда. Далее когда пользователь переходит в одну из этих категорий, в месте предусмотренном в шаблоне для категорий второго уровня открывались категории второго уровня активной категории. Далее переходя на категорию второго уровня для пользователя в месте предназначенном для этого открывались категории третьего уровня.
Пытаюсь реализовать это путем создания трех модулей меню с разными шаблонами, но так как в программировании не силен, не знаю куда и что подставлять. Думал получится взять какой нибудь шаблон из ..modules\mod_virtuemart_category\tmpl\, что собственно и сделал, удалить все лишнее, оставить только то, что отвечает за вывод первичных категорий в дереве категорий для первого меню - это получилось.
Но вот с остальными двумя проблема, как не старался ничего не получается, те переменные которые отвечают в любом основном шаблоне вывода категорий за подкатегории не работают если их просто подставить в места предназначенные для вывода первичных категорий в мой получившийся шаблон для первого меню.
Если придерживаться этого способа реализации данной задачи, здесь как то нужно во втором и третьем шаблонах меню назначить переменную которая отвечают за то, что бы понять в какую категорию перешел пользователь и далее с помощью каких-то функций открыть новое меню с подкатегориями соответствующей активной категории. Подскажите по этой переменной и функциям применимым для решения данной задачи, или может знаете другое решение?
Я перекопал все что мог, но решения, к сожалению не нашел!
 
В модуле трогать ничего не надо было.

Реализовать просто с помощью Advanced Module Manager от NoNumber, с помощью возможностей которого можно настроить при каких условиях (в вашем случае категориях) отображать тот или иной модуль меню/подменю/категории в том или ином месте.
 
Спасибо за содействие, но у меня проблема не стоит с возможностью отображения того, или иного модуля в том, или ином месте - это легко все реализуемо с помощью стандартных средств, если имеются знания в области верстки... В данном случае мне нужно что бы имелась возможность отображения только подуровня верхнего уровня активной категории, в месте в основном шаблоне предназначенном для этого, а в месте следующего подуровня, при переходе тут пользователем, таким же образом нужно отобразить только подуровень еще одной теперь уже этой активной категории на которую нажал пользователь. То есть в итоге если пользователь находится как бы на третьем этаже лестнице категории, должны быть отображены пункты меню двух активных категорий. Соответственно, хотелось бы понять в Advanced Module Manager возможна ли такая настройка и еще один не маловажный момент - так как многие сторонние модули передают гораздо больше запросов - обращений к бд, чем стандартный модуль категорий VM, вы случаем не тестировали Advanced Module Manager на предмет нагрузки, если он способен на необходимую настройку?
Честно сказать, я уверен проще всего создать два шаблона для стандартного модуля вывода категорий VM для моей задачи и это не так сложно, зная какие переменные отвечают за вывод подуровня активной категории.
Посмотрел Advanced Module Manager от NoNumber - к сожалению, однозначно не решает(
 
Последнее редактирование:
лично я бы не рекомендовал использовать nonumber везде, особенно в связке с виртумартом - когда дойдете до оптимизации по быстродействию заметите как сильно он вешает сайт, увеличивает скорость загрузки страницы... + на деле после сдачи сайта в структуру менеджер не часто будет лезть, а значит для большинства задач подойдет стандартный плагин

по теме темы)

я делал оптимальный модуль категорий, буквально в 2 запроса все дерево категорий и не важно насколько оно большое
задачу решал бы так - несколько вариантов модуля вывода дерева категории просто для второго уровня маленькая доработка - родительскую категорию брать из той, где отображается при условии что она не 0, т.е. есть в пути
что получите - отображение только блока подкатегорий текущей категории и не важно на какой уровень дошли - в блоке будут выводиться только подкатегории, можно настроить, чтобы показывались только прямые потомки
т.к. если разобрать ссылку категории на вариант до преобразования в SEF у Вас будет примерно такая ссылка - site.com/index.php?option=com_virtuemart&view=category&virtuemart_category_id=YYY&Itemid=XXX, где YYY - ID текущей отображаемой категории
в общем задача не такая сложная, чтобы прибегать к изврату nonumber+advanced modules (для которого надо будет для каждой подкатегории создавать отдельный модуль, если 4 уровня по 6 категорий, то получится 6^3 модулей - я бы на Вас посмотрел как Вы будете настраивать 216 штук))))

P.S. проще всего - сделать копию стандартного модуля, настроить его оригинальный на вывод только категорий верхнего уровня, а копию подправить на вывод списка дочерних категорих текущей отображаемой
 
Последнее редактирование модератором:
alexandr.datsko, спасибо огромное, как я уверен за точный ответ, решаемый полностью мою задачу, именно так это и звучит :)
Но в связи с тем, что знаний в программировании реально нет... То есть образно я все это понимаю, но так как не разу даже не вникал, сейчас будет достаточно сложно..думаю представляете) Нужно понять эти условия, как их применять с обращениями... Я понимаю, что для человека который "в теме" все это очень просто и не займет, наверное, и 10 мин.
Я могу действовать в этих отношениях так, это сюда, то туда заместо этого..то есть очень тупо) Вам не сложно так разъясниться, что бы таким как я было понятно?
 
Назад
Сверху