|
danik.html
|
 |
« : 11.04.2010, 04:21:46 » |
|
Модуль категорий для VirtueMart 1.* - mod_virtuemart_categories Если вам нужен аналогичный модуль для JoomShopping, вам сюда. Скриншоты фронта: Особенности:1) Привязка к пункту меню - обязательно укажите эту опцию, иначе ссылки выдаваемые модулем буду "плавать" , тоесть зависить от текущей просматриваемой странице. Также не будет правильно работать подсветка активного пункта меню (в модуле меню) 2) Вывод только одной категории и ее субкатегорий 3) Создание списка категорий, выводить которые не нужно, или наоборот нужно. 4) Возможность выводить категории только с и до определенного уровня, то есть можно создать два связанных модуля (аналогично mod_mainmenu) 5) Имеется 4 шаблона модуля, принципиально отличающихся: Accordion, MooTree, Select, дефолтный. Можно их перекрывать в своем шаблоне сайта, или добавлять новые - они появятся в настройках. 6) Стандартные возможности указания суффиксов, кеширования и тд. 7) Две локализации - Русский и Английский. Важно:1) Корнем Mootree, если не задано в настройках, является пункт меню, если задан, или же пункт меню по умолчанию (главная сайта) 2) При включенном кеше модуля не будут работать Mootree и Accordion, а так же разворачиваться активные категории 3) При использовании Mootree и Accordion нужно отключить сворачивание меню 4) Стиль списка категорий может отличаться от стиля меню, из-за немного иной разметки. Решение проблемы описано в "Кастомизация. HTML". 5) В модуле нет каких либо js-файлов, используется стандартный функционал Joomla(mootools.js, accordion.js включенный в сборку mootools.js, mootree.js) 6) При использовании двух копий модуля с шаблоном mootree или accordion, как минимум в одном из них должен быть прописан параметр id списка, причем отличный от дефолтного( не mootree или accordion соответственно) "Написание CSS-стилей для модуля" ul в default и accordion имеет класс .menu{суффикс_если_задан}в select тег не ul а select, и имеет класс .select{суффикс_если_задан}Активные пункты имеют класс .active(как в mod_mainmenu), текущий - .current Родительские - .parent. В select выпадающие пункты так же имеют эти классы. Так же в Accordion имеется класс .expanded, помечающий развернутые пункты. Пример: Для accordion и default .menu .active a{ color: red; } .menu .current a{ text-decoration: underline; }Для select .select .active{ background: #eee; } .select .current{ color: #f00; }Для mootree нужно использовать классы .mooTree_text и .mooTree_selected, приписывая свойствам !important, потому как они уже определены в файле media/system/css/mootree.css "Изменение HTML-разметки модуля" Если нужно изменить основную html-разметку модуля, нужно создать папку templates/текущий_шаблон/html/mod_virtuemart_categories/и скопировать туда нужный файл из modules/mod_virtuemart_categories/tmpl/ . Теперь в файл можно вносить изменения. В этом файле вы не найдете ожидаемой разметки типа тегов ul, li, a и тд.. Модуль использует немного другой механизм создания html-кода. Весь список представляет собой xml-объект, имеющий набор методов для добавления/изменения узлов - каждый узел впоследствии "рендерится" в соответствующий html-тег. В файле имеется функция-декоратор, которой в цикле передается каждый узел списка. С ним можно делать что угодно. К примеру, чтобы разметка совпадала с mod_mainmenu, допишем в раздел case: 'a' такой код: // inject span into anchor $node->addChild('span')->setData($node->data()); Для этого категориям назначаем картинки, но не Полные изображения, а миниатюры (thumbnails). Затем добавим в case: 'li' (читаем Кастомизация. HTML) этот код: if ($node->attributes('image')) { $node->a[0]->addChild('img', array('src' => $node->attributes('image'), 'alt' => $node->a[0]->data()) ); }а в case: 'a' этот: $node->addChild('span')->setData($node->data());Добавил новый шаблон модуля(layout) - MooExplorer. Основан на MooTree. Отличие - подргужает через AJAX подкатегории и ТОВАРЫ. Таким образом в нутри модуля умещается весь ваш магазин ) В модуль его добавляем так: Качаем mooexplorer.layout.zip, распаковываем в папку вашего шаблона сайта. Идем в админку, выставляем в параметрах модуля Шаблон модуля - mooexplorer. Внимание! в mooexplorer есть ошибка, изза которой со включенным sef-ом работать не будет. Чтоб заработал нужно заменить в коде index.html на index.php и все.
|
|
|
|
« Последнее редактирование: 26.03.2012, 14:35:58 от danik.html »
|
Записан
|
|
|
|
| |
|
skyscraper
|
 |
« Ответ #1 : 11.04.2010, 12:02:32 » |
|
молодец! нужная вещь, как руки дойдут обязательно к себе внедрю =)
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #2 : 12.04.2010, 20:41:21 » |
|
Архив обновил. Исправил глупую ошибку - когда публикуешь два экземпляра модуля, у казывая у них разные родительские категории - выводит оба по настройкам последнего...мда..надо поменьше юзать global
Через пару дней выложу новую версию - с выбором категорий-исключений.
|
|
|
|
|
Записан
|
|
|
|
|
Wharfadale
|
 |
« Ответ #3 : 13.04.2010, 17:07:12 » |
|
JInstaller::install: Файл /home/homedigi/public_html/tmp/install_4bc46c106c932/ru-RU.mod_virtuemart_categories.ini не существует И ещё я бы не стал скрывать родительские категории при просмотре субкатегоий.
|
|
|
|
« Последнее редактирование: 13.04.2010, 17:12:35 от Wharfadale »
|
Записан
|
|
|
|
megaman
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 12
|
 |
« Ответ #4 : 14.04.2010, 10:18:07 » |
|
А можешь сказать как сделать вот так У меня: Категория 1 Категория 1.1 Категория 1.1.1 Категория 1.2 Категория 1.3 Категория 1.3.1 Категория 2 Категория 2.1 Категория 2.2 Категория 2.2.1 Категория 2.3
А сделать вот так: Категория 1 Категория 1.1 Категория 1.2 Категория 1.3 Категория 2 Категория 2.1 Категория 2.2 Категория 2.3
Я захожу в виртуемарт/список категорий __|1| Автомобили __|2| Ауди __|3| Кузов __|1| Мотоциклы __|2| Ямаха __|3| Колеса как мне раскрыть до __|2| а __|3| была при нажатии допустим на ауди.
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #5 : 14.04.2010, 10:31:40 » |
|
Ну, пока могу предложить только вывести два модуля, указав у них разные корни, и подписав заголовки вручную. Но тогда сами заголовки, например Автомобили будут некликабельными... Вот, в скором времени добавлю атрибут level , тогда можно будет подбивать модуль под себя, редактируя XML в файлике mod_virtuemart_categories/tmpl/default.php , предварительно закинув его в папку html/mod_virtuemart_categories/ своего шаблона. Так же добавлю выбор исключаемых категорий. Возможно даже сегодня залью обновленную версию 
|
|
|
|
|
Записан
|
|
|
|
megaman
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 12
|
 |
« Ответ #6 : 14.04.2010, 11:27:48 » |
|
Спасибо за ответ. Было бы хорошо если сегодня)
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #7 : 15.04.2010, 20:02:40 » |
|
А можешь сказать как сделать вот так
...
как мне раскрыть до __|2| а __|3| была при нажатии допустим на ауди.
Вот теперь можно, если я правильно понял. Указываем Конечный уровень в 2 и Раскрывать текущую ставим в тру.
|
|
|
|
|
Записан
|
|
|
|
megaman
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 12
|
 |
« Ответ #8 : 16.04.2010, 01:27:38 » |
|
Спасибо тебе могромное за этот модуль. Я на разных форумах писал как сделать чтоб до 2 раскрывалось, но в ответ тишина. А тут целый модуль=)
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #9 : 16.04.2010, 03:02:13 » |
|
Спасибо тебе могромное за этот модуль.
Найдутся глюки - пиши сюды. Тебе спасибо, заранее )
|
|
|
|
|
Записан
|
|
|
|
legkiy
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 32
|
 |
« Ответ #10 : 18.04.2010, 18:28:52 » |
|
установил мод (он заработал ка нужно) пытасю сделать аккордион, закинул в папку templates/fancynew/html папку mod_virtuemart_categories. что-то еще нужно делать или само должно было заработать? (подкатегории есть, но выводит просто списком без аккордиона)
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #11 : 18.04.2010, 18:35:02 » |
|
что-то еще нужно делать или само должно было заработать? (подкатегории есть, но выводит просто списком без аккордиона)
В шапке написано ведь: Обязательно указываем в настройках модуля какой нибудь id, например catalog . Обязательно сбрасываем конечный уровень в 0 ! Если не выйдет - напиши адрес сайта - погляжу
|
|
|
|
|
Записан
|
|
|
|
legkiy
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 32
|
 |
« Ответ #12 : 18.04.2010, 18:55:27 » |
|
если возможно, стукните в асю: двести трицать, десядь. сорак, 53, пущу в админку сайт http://www.ofis-pro.ru/
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #13 : 19.04.2010, 01:48:10 » |
|
legkiy, исче раз пишу: Обязательно указываем в настройках модуля какой нибудь id, например catalog ! В данный момент у вас id не указан, вот по-этому и не работает
|
|
|
|
|
Записан
|
|
|
|
|
|
|
danik.html
|
 |
« Ответ #15 : 19.04.2010, 12:55:38 » |
|
где настройки модуля. куда можно вписать ид?
Расширения->Модули Далее выбираете этот модуль и справа появятся три вкладки. Вот во вкладке "Дополнительные параметры" и будет поле "Id тега списка" . туда надо вписать например catalog , не принципиально.
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #16 : 19.04.2010, 12:57:38 » |
|
legkiy, ты с полом определись то То пишешь установил мод , то ниграматная я
|
|
|
|
|
Записан
|
|
|
|
GeoSco
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #17 : 20.04.2010, 16:04:15 » |
|
Привет! Ошень нужна помошь! Поставил твой модуль категорий... Тольео багов у меня тьма вылезла... А поскольку я только учусь, то своими силами справиться не получается. А лезет конкретно: Notice: Undefined variable: type in Z:\home\...\www\modules\mod_virtuemart_categories\helper.php on line 108 То же на 97, 210, 111, 116
А ещё, поскольку я вычистил категории (другими словами их у меня нет) в адвинке в настройках самого модуля во вкладке "Параметры модуля" пишет Warning: Invalid argument supplied for foreach() in ..\www\libraries\joomla\htm\html\select.php on line 68 Спасите! Помогите!
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #18 : 21.04.2010, 02:04:44 » |
|
GeoSco, Спасибо огромное! Насчет первой части - это - notice, тоесть замечание а не ошибка. Какой уровень ошибок выводить - настраивается. Но всеже исправлю этот момент.
Насчет второго - вот это я обезательно поправлю. Сегодня выложу исправленный вариант
|
|
|
|
|
Записан
|
|
|
|
legkiy
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 32
|
 |
« Ответ #19 : 21.04.2010, 10:14:35 » |
|
а цсс он полностью из шаблона берет? нельзя свой прикрутить?
|
|
|
|
|
Записан
|
|
|
|
GeoSco
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #20 : 21.04.2010, 10:55:36 » |
|
Приветствую! А ещё я так и не разобрался с аккордионом. Хотя в первую очередь выполнил условие "Обязательно указываем в настройках модуля какой нибудь id, например catalog . Обязательно сбрасываем конечный уровень в 0 !"
|
|
|
|
|
Записан
|
|
|
|
GeoSco
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #21 : 21.04.2010, 13:20:47 » |
|
и вот ещё до кучи: PHP SCRIPT ERROR!
Notice: Undefined variable: type in /home/us6849/partya-av.ru/www/modules/mod_virtuemart_categories/helper.php on line 109
If you beleive that this error is due to the server configuration problems please contact your local web-hosting support team.
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #22 : 21.04.2010, 19:02:28 » |
|
Привет! Ошень нужна помошь! Поставил твой модуль категорий... Тольео багов у меня тьма вылезла... А поскольку я только учусь, то своими силами справиться не получается. А лезет конкретно: Notice: Undefined variable: type in Z:\home\...\www\modules\mod_virtuemart_categories\helper.php on line 108 То же на 97, 210, 111, 116
А ещё, поскольку я вычистил категории (другими словами их у меня нет) в адвинке в настройках самого модуля во вкладке "Параметры модуля" пишет Warning: Invalid argument supplied for foreach() in ..\www\libraries\joomla\htm\html\select.php on line 68 Спасите! Помогите!
Ошибки(верней, нотисы) поправил. И, кстати, зайди в настройки и поменяй Сообщения об ошибках на другой уровень. Посетителям никчему видеть эти Notice'ы. из этого модуля то я убрал, но могут возникнуть гденить еще А ещё я так и не разобрался с аккордионом Подробней пиши.
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #23 : 21.04.2010, 19:08:29 » |
|
а цсс он полностью из шаблона берет? нельзя свой прикрутить? Да. Все шаблоны разукрашивают его так как того надо. не вижу смысла приаттачивать свой css. Оформление аналогично mod_mainmenu, теже классы, кроме #current. тут current как класс а не айди, иначе невалидно будет
|
|
|
|
|
Записан
|
|
|
|
Xuga
Давно я тут
  
Репутация: +114/-0
Offline
Пол: 
Сообщений: 311
Over World Art
|
 |
« Ответ #24 : 24.04.2010, 20:24:00 » |
|
Аналогичная ситуация, аккордеон не работает cайт http://alljap.ru помоги пожалуйста, в долгу не останусь
возможная причина неработоспособности компонент sh404 но я сомневаюсь
архив распакован сюда: /templates/ja_larix/mod_virtuemart_categories id прописан конечный уровень 0
еще одно нарекание, ссылки из sh он цепляет но добавляет следующую штучку к каждой ссылке ?Itemid=0 Как это устранить? http://alljap.ru/CHaynye-prinadlezhnosti-Kitay/View-all-products.html?Itemid=0
|
|
|
|
« Последнее редактирование: 24.04.2010, 20:33:03 от Xuga »
|
Записан
|
|
|
|
|
dron
|
 |
« Ответ #25 : 24.04.2010, 22:21:26 » |
|
отличный модуль, только не могу понять кое что... на сайте www.lemobile.ru сделал 3 таких модуля, каждый для своего меню: мтс, билайн и мегафон. В настройках отмечаю, какие пункты не надо выводить. А он мне почему-то во всех 3-х модулях выводит настройки первого модуля, т.е. ссылки только для мтс! в чем дело?
Заранее спасибо!
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #26 : 25.04.2010, 18:41:41 » |
|
Ответ на вопросы тех, у кого не работает accordion. Да, действительно, при включенном кеше не пашет. Более того, при первом кешировании сайт падает с ошибкой:
Fatal error: Using $this when not in object context in Y:\home\player\www\includes\application.php on line 286
Проблема закралась в файл templates/your_template/html/mod_virtuemart_categories/default.php в строке 47:
$assets = 'templates/'.JSite::getTemplate().'/html/mod_virtuemart_categories/assets/';
а так же не срабатывал код на стоке 53:
JHTML::script('accordionmenu.js',$assets);
Я тестил с отключенным кешированием, так что о проблемах не знал( Дело в том что в файлы вывода модулей можно писать только тот код, который в результате выполнения станет HTML, грубо говоря, а иначе результат не закешируется. Например строка JHTML::script('accordionmenu.js',$assets); по идее добавляет в секцию <head> страницы тег <script src="тра ля ля" ... И следовательно в кеш модуля не попадает.
Я перезалил исправленный архив html.rar. Теперь льем его в шаблон, и ОБЯЗАТЕЛЬНО правим default.php - на 46 строке меняем ТВОЙ_ШАБЛОН на название шаблона.
Кто подскажет как избавиться от этого действия - огромный плюс и поцелуй Жанны Фриске(с этим могут быть проблемы) =) Пробовал JSite::getTemplate(), но не пашет с кешированием (
|
|
|
|
|
Записан
|
|
|
|
GeoSco
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #27 : 26.04.2010, 13:46:45 » |
|
Да все никак не победю аккордион!
|
|
|
|
|
Записан
|
|
|
|
GeoSco
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #28 : 26.04.2010, 13:47:56 » |
|
449122834
|
|
|
|
|
Записан
|
|
|
|
GeoSco
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #29 : 26.04.2010, 13:49:12 » |
|
Наверняка какая-то мелочь закралась, а всё никак! Ве что описано про строки и замену ТВОЙ_ШАБЛОН сделал, а все равно нихт!
|
|
|
|
|
Записан
|
|
|
|
|