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

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 22   Вниз
  Добавить закладку  |  Печать  
Автор

Поиск по настраиваемым полям (фильтр VirtueMart 2): плагин поля мультивыбора + модуль

 (Прочитано 21882 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« : 31.03.2012, 15:08:33 »

Обсуждение стабильной версии начинается с этого поста, все что выше - обсуждение бета версий.

Закончил работу над фильтром товаров по настраиваемым полям.
Для этого написал свой плагин настраиваемого поля для VM2 с мультивыбором и модуль для поиска (фильтр) с необходимым количеством настроек и шаблонов вывода.

Последняя версия:2.0.6
Официальный сайт (покупка): http://myext.eu/
Демо (фильтр слева): http://myext.eu/demo/

Update: J!2.5 + VM 2.0.4

== Особенности ==
 * основное отличие от редких аналогов в том, что не используется промежуточный компонент, а работает средствами VirtueMart 2 и системы плагинов настраиваемых полей
 * Плагин настраиваемого поля для VM2 с возможностью выбора для товара нескольких значений из выпадающего списка (multiselect)
 * Модуль вывода дополнительных полей
 * Поиск по настраиваемым полям плагина (checkbox, select, radio). Шаблон привязывается к каждому полю и может быть переопределен в модуле
 * AJAX обновление модуля при изменении параметров
 * AJAX обновление списка товаров при изменении параметров
 * полноценная работа со связными списками: поле связывается с другим полем (или его значением) и отображается только если было выбрано связное поле
 * Подсчет количества соотнесенных параметру товаров в модуле в зависимости от уже выбранных парметров
 * Поиск по категориям (checkbox, select)
 * Поиск по производителю (checkbox, select, radio)
 * Поиск по цене (input)
 * Добавление/удаление/изменение значений по-умолчанию через удобный интерфейс на js с функцией сортировки
 * Выбор метода передачи данных (get/post)
 * Автоматическое определение выводимых для поиска полей относительно товаров открытой категории
 * Изменение выборки пересечения данных (AND/OR) разных значений одного поля
 * Оповещение об обновлении
 * Результат: Самый долгий запрос: поиск по 5 параметрам со всеми отмеченными вариантами, с учетом поиска по категориям, производителю и цене на 1000 товаров занимает ~0.09 сек на хостинге за 44 руб/мес. Дальнейшая навигация с результатами кешируется и запрос занимает ~0.007 cек.
« Последнее редактирование: 20.12.2013, 11:09:28 от pharaoh » Записан
valerka28
Захожу иногда
**

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

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



« Ответ #1 : 02.04.2012, 08:39:20 »

Идея очень даже неплохая, скачал, установил, вроде заработало. Почти то, что искал, остальное допилю. Спасибо за плагин!
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #2 : 02.04.2012, 09:52:17 »

Milbo (Virtuemart Projectleader Administrator)
Цитировать
Hmm, I cant add your second idea, because we changed it meanwhile, please adjust it to the new version 2.0.3 latest. Sounds interesting, no question. But maybe not needed anylonger (just not completly in that part of code).
http://forum.virtuemart.net/index.php?topic=100562.0

Пока ждем версию 2.0.3, а там посмотрим.
Записан
valerka28
Захожу иногда
**

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

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



« Ответ #3 : 02.04.2012, 13:52:40 »

Уважаемый разработчик! такой вопрос: нельзя ли сделать, чтоб каждый элемент был как-то обособлен для CSS? например вместо
Код:
<div>|35|37|39|</div>
выводилось
Код:
<div>
<span>35</span>
<span>37</span>
<span>39</span>
</div>
и если несколько родителей, чтобы каждому задавался свой класс? например вместо
Код:
<div class="product-field product-field-type-E">
<div>
<div class="product-fields-title">Размерный ряд</div>
<div>|35|37|39|</div>
</div>
<span class="product-field-desc"></span>
</div>
<div class="product-field product-field-type-E">
<div>
<div class="product-fields-title">Цветовая гамма</div>
<div>|бежевый|черный|коричневый|</div>
</div>
<span class="product-field-desc"></span>
</div>
выводилось
Код:
<div class="product-field product-field-type-E">
<div class="group1">
<div class="product-fields-title">Размерный ряд</div>
<div>|35|37|39|</div>
</div>
<span class="product-field-desc"></span>
</div>
<div class="product-field product-field-type-E">
<div class="group2">
<div class="product-fields-title">Цветовая гамма</div>
<div>|бежевый|черный|коричневый|</div>
</div>
<span class="product-field-desc"></span>
</div>
а то что-то у меня не очень получается). Буду премного благодарен и, думаю, для многих это будет полезно. Спасибо.
Записан
valerka28
Захожу иногда
**

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

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



« Ответ #4 : 02.04.2012, 15:19:44 »

ну все, вроде сам разобрался. Еще раз спасибо за очень нужное решение.
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #5 : 02.04.2012, 15:59:07 »

Формат вывода на страничке товара не настраивал. Обязательно сделаю в след версии. Предварительно жду VM 2.0.3, чтобы понять, не будет ли мой вариант лишен смысла. Есть еще много идей, которые хочется внести.
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #6 : 06.04.2012, 19:28:16 »

Просьба комментировать/спрашивать/предлагать.

"как сделать, чтобы показывались выбранные чекбоксы после фильтрации"
File: modules\mod_virtuemart_param_filter\tmpl\default.php
Line: 23
Было
Код:
foreach($custom_params['value_def'] as $v){
echo '<label class="filter" ><input type="checkbox" name="custom_value['.$type->virtuemart_custom_id.'][]" value="'.$v.'" />'.$v.'</label><br/>';
}
Стало:
Код:
$custom_value = JRequest::getVar('custom_value');
foreach($custom_params['value_def'] as $v){
$checked = isset($custom_value[$type->virtuemart_custom_id]) && in_array($v,$custom_value[$type->virtuemart_custom_id])? ' checked="checked"' : '';
echo '<label class="filter" ><input type="checkbox" name="custom_value['.$type->virtuemart_custom_id.'][]" value="'.$v.'"'.$checked.' />'.$v.'</label><br/>';
}
« Последнее редактирование: 06.04.2012, 19:36:48 от pharaoh » Записан
koskanalya
Осваиваюсь на форуме
***

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

Сообщений: 51


« Ответ #7 : 10.04.2012, 18:31:19 »

а как реализовать подобный фильтр http://www.shuba5.ru/shop
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #8 : 10.04.2012, 22:16:54 »

В плагине/модуле есть мои контактные данные. Напиши на почту. Отвечу.
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #9 : 12.04.2012, 13:29:57 »

На демо сайте (из шапки) опубликована статья об истории версий и планах разработки. Также показана работа версии 0.2 (версию в паблик пока не выкладываю, если что, пишите в почту).
« Последнее редактирование: 12.04.2012, 13:36:43 от pharaoh » Записан
masik_
Осваиваюсь на форуме
***

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

Сообщений: 42



« Ответ #10 : 18.04.2012, 05:24:12 »

классная штукенция, автору респект
Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #11 : 18.04.2012, 13:50:26 »

Я на демо сайте попытался отфильтровать по цене,то не получилось(А без цены нашел товар с нужными типами.А Размер и цвет одежды-- это тип товара?Или это уже другие критерии фильтрации?И как насчет добавить категории и мануфактуры?Получиться мега поиск)))Спасибо за хорошие решение))Ждемс новых фич))Уже вирт 2.0.6. мб там учли ваши пожелания))
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #12 : 18.04.2012, 15:27:56 »

Я на демо сайте попытался отфильтровать по цене,то не получилось(А без цены нашел товар с нужными типами.А Размер и цвет одежды-- это тип товара?Или это уже другие критерии фильтрации?И как насчет добавить категории и мануфактуры?Получиться мега поиск)))Спасибо за хорошие решение))Ждемс новых фич))Уже вирт 2.0.6. мб там учли ваши пожелания))
Мое решение использует мой плагин дополнительного поля. "Размер и цвет одежды" - это тоже доп поля, но другого типа. В новой версии не учли, поэтому сейчас работаю над обходом ограничений VM. В связи с этим поиск по цене не работает (пока что). Это позволит осуществить поиск по категориям и по производителю в дальнейшем.
Записан
koskanalya
Осваиваюсь на форуме
***

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

Сообщений: 51


« Ответ #13 : 18.04.2012, 16:18:23 »

Ну что нет рабочего фильтра по категориям товара?
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #14 : 19.04.2012, 11:08:45 »

v0.3
 * Добавление/удаление/изменение значений по-умолчанию через удобный интерфейс на js с функцией сортировки
 * Поиск по категориям
 * Поиск по цене

v0.4
 * Шаблоны вывода категорий
 * Шаблоны вывода полей
 * Теперь шаблон вывода можно указать в свойствах настраиваемого поля
 * Шаблон вывода всех настраиваемых полей можно глобально переопределить в модуле
« Последнее редактирование: 20.04.2012, 08:45:21 от pharaoh » Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #15 : 21.04.2012, 21:12:44 »

Привет.Чето появилась форма запроса логина и пароля на ваш демо сайт)Хотел написать на почту,но спрошу тут)Есть такой фильтер CustomFilters_Starter_unzipme_v1.0 ,там модуль и компонент, в принципе компонент не нужен,так как он работает в платной версии,но и без него модуль не работает.Не мог бы ты его допилить?Фильтр по цене добавить и по типам как в твоем модуле? моя почта oleg-dracon@mail.ru
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #16 : 22.04.2012, 01:42:49 »

Привет.Чето появилась форма запроса логина и пароля на ваш демо сайт)Хотел написать на почту,но спрошу тут)Есть такой фильтер CustomFilters_Starter_unzipme_v1.0 ,там модуль и компонент, в принципе компонент не нужен,так как он работает в платной версии,но и без него модуль не работает.Не мог бы ты его допилить?Фильтр по цене добавить и по типам как в твоем модуле? моя почта oleg-dracon@mail.ru
нет. Этот модуль работает через платный компонент, а не напрямую с VM2 (вроде как). Я свой модуль уже почти доделал. По цене в том числе ищет. Сейчас тестирую и оптимизирую, потому сайт и не работает.
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #17 : 22.04.2012, 04:30:37 »

Демо
v0.6
 * Поиск по производителю
 * Шаблоны вывода производителей
 * Шаблон "radio" для производителей и полей
 * Изменение выборки пересечения данных (AND/OR) разных значений одного поля
 * Параметр "поисковый" у экземпляра плагина
 * Сильно оптимизирован запрос поиска (долгий запрос. кешируется для дальнейшей навигации. вывод времени). Самый долгий запрос: поиск по 5 параметрам со всеми отмеченными вариантами, с учетом поиска по категориям, производителю и цене на 1000 товаров занимает ~0.09 сек на хостинге за 44 руб/мес. Дальнейшая навигация с результатами кешируется и запрос занимает ~0.007 cек.
 * Автоматическое определение выводимых для поиска полей относительно товаров открытой категории (долгий запрос. кешируется. вывод времени). Для просмотра работу нужно перейти в любую категорию VM.
 * Выбор метода передачи данных (get/post)
 * Поправлен ряд багов, обнаруженных при тестировании
Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #18 : 22.04.2012, 21:39:01 »

А будет выложенная более продвинутая версия в паблик чем v0.1?Без наворотов JS,но с последними добавлениями фильтрации по категориям брендам и цене)) И от реально чего не хватает в демоверсии,но она не полная как я понимаю,так это подсветки тех фильтруемых типов и брендов которые есть в конкретной категории.Я как лузер воще нахожу товар с 10 попытке,так как галочки можно ставить все.А от с подсветкой или возможностью ставить только там галочку ,где есть тип,в конкретной категории,облегчают жизнь для поиска))). Объясняю как могу,не суди строго)))
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #19 : 22.04.2012, 21:59:12 »

olejenya, подробная информация о дате релиза на демо сайте.
По поводу вопроса про галочки: это в планах на версию 1.1, но в 1.0 этого не будет.
Хотя грамотная структура типов и значений делает не особо нужным такой функционал. Поэтому я отложил это на последующие обновления.
« Последнее редактирование: 22.04.2012, 22:05:45 от pharaoh » Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #20 : 24.04.2012, 17:54:35 »

Привет.Вот сылочка http://livedemo00.template-help.com/prestashop_38827/category.php?id_category=9#/condition-new/availability-in_stock/price-154-419. Хотел спросить что то подобное ждет нас в обновленной версии)))В престе блин все на аяксе и все включено в шаблон))Только галочки ставь.Когда уже в виртумарте так будет)) и еще не мог бы ты скинуть сылку как создавать и настраивать типы?А то не как не вкурю)Спасибо.
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #21 : 24.04.2012, 19:02:28 »

А что здесь такого? Слайдер цены? да, планирую прикрутить такое. Аяксом грузить список товаров? Нет, т.к. считаю это во вред (и кол-во запросов увеличивается, и пользователь ждет больше). Да и грузить каждое действие пользователя разве есть смысл?
По каким именно полям? по тем, которые будут работать в моем расширении или вообще. Для моего плагина дополнительного поля будет написана краткая инструкция, которая позволит создать типы для поиска.
Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #22 : 24.04.2012, 21:55:05 »

По тем полям ,которые ты используешь в модуле для фильтрации.А то я могу создать только цвет и размер))
Ну хз,много где как раз Аяксом и подгружается все.Ну со списком товара мб и перебор (но красиво выглядит,живой поиск типо как).А вот про каждое действие пользователя,мне это тоже не очень нраиться,но если бы все это подгружать после нажатия кнопки поиска,то может так и удобней было.
Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #23 : 24.04.2012, 21:56:47 »

Про плагин.После установки твоего плагина,я смогу установить эти дополнительные поля?
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #24 : 25.04.2012, 08:48:55 »

Да. Именно в нём и основной смысл. После установки плагина появится дополнительный тип поля, позволяющий создавать выпадающие списки с множественным выбором.
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #25 : 28.04.2012, 09:48:06 »

Выпущен релиз. Версия 1.0. Информация в шапке обновлена. Спасибо за интерес к расширению.
Записан
xamtal
Новичок
*

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

Сообщений: 6


« Ответ #26 : 01.05.2012, 22:21:32 »

Задача такая: алкогольный магазин, товары например вино, бренди, водка. У каждого товара разные атрибуты, например у вина это регион с несколькими уровнями вложенности, год, сорт винограда, цена, цвет и тд., у бренди другие другие атрибуты, у водки то же другие, но какие то атрибуты у всех товаров одинаковые.
Как я пытаюсь это реализовать: регионы это категории, например: (вино->франция->бордо->пойяк) остальные атрибуты пытаюсь сделать на настраиваемых полях.
Проблемы:
1)  Настраиваемые поля не могут иметь одинаковые имена.
2)  Фильтровать нужно только в пределах выбранной категории
3)  Отображать группу фильтров нужно только в соответствующей категории.

Подскажите пожалуйста подойдет ли мне обсуждаемое расширение или может кто то другое посоветует, сейчас фильтр реализован на компоненте cf filterin.... как то так называется не помню. Он не подходит по выше указанным причинам.

Пример сайта как надо сделать фильтр http://winestyle.ru/wine/bordeaux/

Спасибо
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #27 : 02.05.2012, 00:07:58 »

Подскажите пожалуйста подойдет ли мне обсуждаемое расширение...
Да. При грамотном построении полей и общей структуры.

Проблемы:
1)  Настраиваемые поля не могут иметь одинаковые имена.
2)  Фильтровать нужно только в пределах выбранной категории
3)  Отображать группу фильтров нужно только в соответствующей категории.
Подробнее:
1) В моем расширении у каждого поля дублируется строка "заголовок", который не обязательно уникален и может выводиться в шаблоне (по умолчанию закомментирован)
2) При открытии категории автоматически ставится галочка в списке категорий фильтра
3) При включенном параметре "Автоподбор списка полей" поля для поиска будут браться исходя из товаров открытой категории (без вложенности). При отсутствии таковых в модуле фильтра ничего выводиться не будет.

Могу организовать необходимую структуру на основе своего расширения. Если понадобится помощь, пишите в личку.
Записан
xamtal
Новичок
*

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

Сообщений: 6


« Ответ #28 : 02.05.2012, 19:47:32 »

pharaoh, справиться это расширение вот с такой задачей http://winestyle.ru/wine/italy/? Особое внимание обращаю на несколько уровней вложенности регионов производства вина? Нужно что бы посетителю было видно всю структуру вложенности. Почти все параметры можно выполнить в виде раскрывающегося списка, но пункты: вино, водка, шампанское и тд. должны быть видны всегда.
Есть ли какой то способ более оперативно связываться? Личные сообщения мне не доступны. Спасибо.
Записан
pharaoh
Завсегдатай
*****

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

Сообщений: 424


« Ответ #29 : 02.05.2012, 20:06:30 »

Если регионы будут как категории, то да. Не вижу ничего уникального. Технически мое расширение позволяет, при этом структура должна создаваться с пониманием работы настраиваемых полей виртуемарта и внешний вид подгоняться верстальщиком. Пример demo.jgen.ru в принципе это отражает.
Записан
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 22   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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