Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 664 Ответов
  • 28620 Просмотров
*

pharaoh

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

Закончил работу над фильтром товаров по настраиваемым полям.
Для этого написал свой плагин настраиваемого поля для 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, 13:09:28 от pharaoh »
*

valerka28

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
Идея очень даже неплохая, скачал, установил, вроде заработало. Почти то, что искал, остальное допилю. Спасибо за плагин!
Vae Victis!
*

pharaoh

  • Завсегдатай
  • *****
  • 428
  • 53
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

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
Уважаемый разработчик! такой вопрос: нельзя ли сделать, чтоб каждый элемент был как-то обособлен для 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>
а то что-то у меня не очень получается). Буду премного благодарен и, думаю, для многих это будет полезно. Спасибо.
Vae Victis!
*

valerka28

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
ну все, вроде сам разобрался. Еще раз спасибо за очень нужное решение.
Vae Victis!
*

pharaoh

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

pharaoh

  • Завсегдатай
  • *****
  • 428
  • 53
Просьба комментировать/спрашивать/предлагать.

"как сделать, чтобы показывались выбранные чекбоксы после фильтрации"
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, 21:36:48 от pharaoh »
*

koskanalya

  • Осваиваюсь на форуме
  • ***
  • 51
  • 0
а как реализовать подобный фильтр http://www.shuba5.ru/shop
*

pharaoh

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

pharaoh

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

masik_

  • Осваиваюсь на форуме
  • ***
  • 42
  • 3
классная штукенция, автору респект
*

olejenya

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

pharaoh

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

koskanalya

  • Осваиваюсь на форуме
  • ***
  • 51
  • 0
Ну что нет рабочего фильтра по категориям товара?
*

pharaoh

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

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

olejenya

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

pharaoh

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

pharaoh

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

olejenya

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

pharaoh

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

olejenya

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

pharaoh

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

olejenya

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

olejenya

  • Давно я тут
  • ****
  • 218
  • 3
Про плагин.После установки твоего плагина,я смогу установить эти дополнительные поля?
*

pharaoh

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

pharaoh

  • Завсегдатай
  • *****
  • 428
  • 53
Выпущен релиз. Версия 1.0. Информация в шапке обновлена. Спасибо за интерес к расширению.
*

xamtal

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

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

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

Спасибо
*

pharaoh

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

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

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

xamtal

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

pharaoh

  • Завсегдатай
  • *****
  • 428
  • 53
Если регионы будут как категории, то да. Не вижу ничего уникального. Технически мое расширение позволяет, при этом структура должна создаваться с пониманием работы настраиваемых полей виртуемарта и внешний вид подгоняться верстальщиком. Пример demo.jgen.ru в принципе это отражает.