Новости Joomla

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

lammer

  • Захожу иногда
  • 95
  • 13 / 0
Собственно отчего-то разработчики за нас решили, что в модуле категорий нам достаточно два уровня категорий: первый и второй.
Но меня это не устроило. Держите модификацию модуля (только шаблона самого модуля), который позволяет выводить подкатегории третьего уровня и далее.
Модификация сделана исключительно для шаблона модуля, что в дальнейшем позволит без проблем обновиться до более новой версии этого модуля, и не затереть эти изменения.
Кроме этого я постарался сделать настройку всех модулей меню как можно более удобной (при формировании css)
Пронумеровал уровни в классах, и добавил id категории и модуля к классам оформления, так что Вы сможете настроить любой пункт меню на Свой вкус.
Установка модификации:
Установка модификации очень простая: идем в папку Вашего шаблона: /templates/ваш_шаблон/html/mod_virtuemart_category/, копируем из вложения default.php, переходим в Панель администрирования - Расширения - менеджер модулей - находим там Ваш список категорий (можно воспользоваться выпадающим списком Выбор Типа - Virtuemart Категории - заходим в редактирование модуля - в правой части экрана в выпадающем списке Макет выбираем default, сохраняем.
Статья с детальным описанием настройки (классов) и установки находится у меня в блоге: Virtuemart 2 categories - неограниченное количество уровней
Скачать модификацию можно здесь, или же у меня в статье.

[вложение удалено Администратором]
« Последнее редактирование: 18.01.2013, 14:11:46 от lammer »
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
А что по поводу запросов?А то я юзал mod_phoca_vm_category_v1.0.0, и вобщем такая вот цифра 50 категорий - 30 000 запросов.Заюзал этот модуль j25_mod_vmaccordionmenu_1_0_6.zip то - 820.А радной -120, но без вложенности.Вы его тестили?Оч интеренсо знать как обстоят дела у других)))
*

lammer

  • Захожу иногда
  • 95
  • 13 / 0
А это и есть родной. И мой модуль к аккордиан меню 1.0.6 никакого отношения не имеет. Ни одного лишнего запроса. Я просто перебрал результаты выборки по родительским категориям. А сама выборка происходит стандартными средствами VirtueMart. Запросы можете посчитать в методе getChildCategoryList класса VirtueMartModelCategory. Вот и все. Плюс все это дело обернуто в кэш. Любое количество запросов через кэш вызывается только один раз, дальше из кэша (пока результаты запроса живут в кэше). Так что насчет количества запросов можно не париться. Тем более, что это наименьшая проблема в VirtueMart 2.0. Который на странице категории в 30 товаров производит около 400-500 запросов без всяких модулей.   
« Последнее редактирование: 14.02.2013, 20:04:35 от lammer »
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Это хорошо)Но у тебя на блоге написано что кеш не работает.Это что в админке значит надо отключить его?
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Хотел спросить, а мог бы ты добавить вывод картинки и счетчика продуктов в категории?))Было бы очень круто)Но + в карму по любому)
*

lammer

  • Захожу иногда
  • 95
  • 13 / 0
Хотел спросить, а мог бы ты добавить вывод картинки и счетчика продуктов в категории?))Было бы очень круто)Но + в карму по любому)
И аминь базе данных. Посчитать товары для каждой категории = +1 запрос на выборку количества товаров по категориям. Вот тогда он будет базу грузить очень сильно. Причем эти запросы будут довольно тяжеловесными. Ну можем проверить/придумать такое. Не проблема. Через несколько дней ждите вариант здесь же-)
*

lammer

  • Захожу иногда
  • 95
  • 13 / 0
Это хорошо)Но у тебя на блоге написано что кеш не работает.Это что в админке значит надо отключить его?
Кэш работает. Если возникают проблемы с пагинацией в разных категориях при включенном кэше - я привел часть решения. Если найдете описанную проблему у Вас в vm, можете использовать мое решение.
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Да с пагинацией постоянно какие то бока.Ну я просто ждк обновления и думаю что в новых версиях пофиксят))
Извините за наглость))Но просто сам уже не хочу крутить акардеон)Нельзя и его чуток модифицировать.Он открывает сразу все вложенные ul , а хотелось бы по очереди.И когда кликаешь на категорию 3 уровня, то вложенность видна вся. По логике - это и правильно.Но когда 50 категорий все это развернулось.то не оч красиво)И условие добавить что если кликаешь на VmArrowdown другой категории, то закрывать открытую категорию.Спасибо)
« Последнее редактирование: 14.02.2013, 20:27:00 от olejenya »
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Ну где же ты пропал мой спаситель))Картинку не могу вывести в категориях 2 и дальше уровнях((Про счетчик в обще молчу)Помоги пожалуйстазз
*

lammer

  • Захожу иногда
  • 95
  • 13 / 0
Ну где же ты пропал мой спаситель))Картинку не могу вывести в категориях 2 и дальше уровнях((Про счетчик в обще молчу)Помоги пожалуйстазз
Работы невероятно много. Каким модулем пользуетесь для вывода картинок?
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
пользовался фока категорией.Но он какойто зациклен и делает дофигище запросов)Потом увидел эту статью и перешел на стандартный модуль.И там есть такая строка
// We dont use image here
$categoryModel->addImages($categories);
И вот на первый уровень в масив медиа имеет все что связано с картинкой.А от как чаилдам добавить этот масив медиа?(
$img = JURI::base(true).'/'.$category->images[0]->file_url_thumb; - это путь картинки.
                $img = JURI::base(true).'/'.$child->images[0]->file_url_thumb; - это путь у  картинкам уровнем ниже, но так как в масиве пусто то и путь пустой)Я так понимаю в самом дефолте надо еще гдето прописать

            $categoryModel->addImages($childs) - это не помогло, так как вставил методом научного тыка)


вот в самом модуле строчка отвечает за вывод картинки 2 уровня
      $category->childs = $cache->call( array( 'VirtueMartModelCategory', 'getChildCategoryList' ),$vendorId, $category->virtuemart_category_id );
           $categoryModel->addImages($category->childs);
Делаю такую же доработку в шаблоне
$child->childs = $cache->call( array( 'VirtueMartModelCategory', 'getChildCategoryList' ),$vendorId, $child->virtuemart_category_id );
$categoryModel->addImages($child->childs);
контент не отображаеться.
« Последнее редактирование: 25.02.2013, 23:49:52 от olejenya »
*

jetonz

  • Захожу иногда
  • 154
  • 9 / 3
  • Помог ответ? Не ленись, ставь [+] !
А кто-то переделывал этот модуль что бы он был не раздвигающимся меню, а выпадающим?
*

jetonz

  • Захожу иногда
  • 154
  • 9 / 3
  • Помог ответ? Не ленись, ставь [+] !
Раз никто не сделал, то прикрепляю файлик default.php переделанное под выпадающее меню. Вырезал все ненужное. Остальное дело стилей. Для всех пунктов которые содержат подпункты применяется класс "dir" , который нужно описать в CSS (стрелочку там нарисовать, что б понятнее было что есть подпунты)

default.php :
Спойлер
[свернуть]

добавить в CSS
Спойлер
[свернуть]
*

Елена Соколова

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
  • Когда нибудь...в далеком...далеком будущем
Товарищи! Второй день ищу модуль     
mod_virtuemart_category
Где взять?
Я правильно понимаю что это модуль. слева меню  с категориями товаров-справа товары-слайдер!! очень его ищу!!

 !
 !
 !
*

tigra-uki

  • Давно я тут
  • 560
  • 11 / 0
  • Joom'лiстка
Подскажите, пожалуйста, как сделать так, чтобы меню всегда было раскрыто?
Слишком сконцентрированное внимание необходимо разбавлять действием.
*

jetonz

  • Захожу иногда
  • 154
  • 9 / 3
  • Помог ответ? Не ленись, ставь [+] !
ul.VMmenu ul {
   visibility: hidden;  - убрать этот параметр
   position: absolute;
   top: 100%;
   left: 0;
   z-index: 598;
   width: 100%;
}
*

tigra-uki

  • Давно я тут
  • 560
  • 11 / 0
  • Joom'лiстка
ul.VMmenu ul {
   visibility: hidden;  - убрать этот параметр
   position: absolute;
   top: 100%;
   left: 0;
   z-index: 598;
   width: 100%;
}

возможно, хотя, у меня и без этой правки заработало.
Но, все равно пригодился Ваш default.php.

Спасибо jetonz и lammer!
Слишком сконцентрированное внимание необходимо разбавлять действием.
*

ChaosHead

  • Гуру
  • 5241
  • 451 / 13
Как у него определить активную категорию? Я бы даже ради такого дела ему кешь отключил.
*

shurikkan

  • Осваиваюсь на форуме
  • 46
  • 1 / 0
  • Joomla-support.ru :: Shurikkan
Расширение работает некорректно: если родительский пункт меню становится активным, то все вложенные в него родительские пункты также становятся активными (раскрываются).
*

Deni

  • Захожу иногда
  • 61
  • 2 / 0
Расширение работает некорректно: если родительский пункт меню становится активным, то все вложенные в него родительские пункты также становятся активными (раскрываются).
А как это пофиксить не подскажете?
*

alpha-helix

  • Захожу иногда
  • 80
  • 1 / 0
А нет ли доделки, чтобы модуль выводил категории начиная только с текущего уровня?
Пример - http://www.ulmart.ru/catalog/93259?sort=0&viewType=1&rec=true - при заходе  в категорию видим только подкатегории
*

tigra-uki

  • Давно я тут
  • 560
  • 11 / 0
  • Joom'лiстка
jetonz, а не подскажите - применяли ли Ваше решение для макета current?

или так: если можно расскажите, пожалуйста, что именно Вы сделали чтобы отображались все категории?
Слишком сконцентрированное внимание необходимо разбавлять действием.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
jetonz, если можно расскажите, пожалуйста, что именно Вы сделали чтобы отображались все категории?
Так он все выложил: смотрите function vm_template_get_tree_recurse.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

sasha8888

  • Осваиваюсь на форуме
  • 46
  • 4 / 0
выложил решение в соседней ветке
http://joomlaforum.ru/index.php/topic,299404.0.html
решал заодно задачу нагрузки и быстродействия и в 2.6.8 версии VirtueMart заметил, что там начали по-другому генерироваться ссылки на категории, иначе, чем все время до этого
*

Cardamon

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
сделала вертикальное выпадающее меню  категорий как написал jetonz . спасибо, пригодилось! ^-^
 Немного изменила. Все красиво!
но обрезаются не поместившиеся категории 3-го уровня.
Причину знаю: блоку slide нужно поменять свойство overflow: hidden; на overflow: visible;
FireBug выдает в поле для HTML

<div class="slide" style="margin: 0px; position: static; overflow: hidden; height: 139px;">

<div id="module_92" class="module_content " tabindex="-1" role="tabpanel" aria-labelledby="link_92" style="display:

block; margin: 0px; overflow: hidden;" aria-expanded="true">
</div>
</div>
При смене нужного свойства в фаербаге, категории не обрезаются.
Только не знаю в каком файле php искать..
FireBug ведь вывел код после обработки php файла. А как он выглядел до этого? Где записано свойство ?
Тотал командер не находит <div class="slide"
если  искать slide -выводится очень много результатов. Много уже просмотрела. Но не знаю, как может выглядеть исходник

php.
« Последнее редактирование: 04.11.2014, 12:15:52 от Cardamon »
*

jetonz

  • Захожу иногда
  • 154
  • 9 / 3
  • Помог ответ? Не ленись, ставь [+] !
сделала вертикальное выпадающее меню  категорий как написал jetonz . спасибо, пригодилось! ^-^
 Немного изменила. Все красиво!
но обрезаются не поместившиеся категории 3-го уровня.
Причину знаю: блоку slide нужно поменять свойство overflow: hidden; на overflow: visible;
FireBug выдает в поле для HTML

<div class="slide" style="margin: 0px; position: static; overflow: hidden; height: 139px;">

<div id="module_92" class="module_content " tabindex="-1" role="tabpanel" aria-labelledby="link_92" style="display:

block; margin: 0px; overflow: hidden;" aria-expanded="true">
</div>
</div>
При смене нужного свойства в фаербаге, категории не обрезаются.
Только не знаю в каком файле php искать..
FireBug ведь вывел код после обработки php файла. А как он выглядел до этого? Где записано свойство ?
Тотал командер не находит <div class="slide"
если  искать slide -выводится очень много результатов. Много уже просмотрела. Но не знаю, как может выглядеть исходник

php.


Давно было, с трудом вспоминаю. Так при первом взгляде могу сказать что нужно искать в джаваскрипте строку которая задаёт элементу с классом "slide" свойство overflow: hidden;
*

Luyon

  • Новичок
  • 4
  • 0 / 0
Как можно скрыть, или убрать(конечно лучше) из модуля категории 1-о уровня, мне они не нужны, так как для них предназначено отдельное меню. Может что поправить в default.php, но ума не приложу что?..

С помощью CSS все же скрыть получилось, но само по себе решение скрывать что-то конечно не есть гуд. Вопрос касательно того что бы убрать в default.php актуален.
« Последнее редактирование: 07.11.2014, 22:15:26 от Luyon »
*

artem_wrong

  • Захожу иногда
  • 78
  • 1 / 0
а как быть, если нету папки mod_virtuemart_category с файлом default.php?
Меню-то я могу сделать разноуровневым, но вот редактировать каждый пункт своим стилем не могу, редактируется сразу весь класс
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Договор для Покупателя

Автор SolopoV

Ответов: 0
Просмотров: 713
Последний ответ 14.04.2017, 23:00:03
от SolopoV
Сортировка от дешевых к дорогим VirtueMart 2

Автор vladsklyar

Ответов: 7
Просмотров: 1335
Последний ответ 20.02.2017, 13:30:55
от vladsklyar
Вывод данных в категорию по условию

Автор SolopoV

Ответов: 1
Просмотров: 805
Последний ответ 30.12.2016, 15:54:00
от fsv
VM3 - убрать в цене +/- для разных размеров

Автор tromm

Ответов: 0
Просмотров: 889
Последний ответ 17.02.2016, 18:21:04
от tromm
AJAX пагинация категории и кнопка в корзину

Автор stydent

Ответов: 3
Просмотров: 1557
Последний ответ 21.09.2015, 15:11:56
от stydent