Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

snastik

Recommended Posts

Все хорошо , Snastiky респект , вот только при выключенном (Количество товаров:) показывается только цена (о чем тут уже писалось), а при включенном количестве все показывается но тормозит при больших базах

Надіслати
Поділитися на інших сайтах


Вы создаете фильтр по атрибуту ?

1. Создана группа атрибутов: "цена товара"

2. Созданы сами значения атрибутов и проставлены в каждой товарной позиции: "500-1000","1000-2000" и др. 

3. Создан сам фильтр в каталог/фильтр товаров/фильтр товаров. В качестве типа выбрано значение группы атрибутов - "цена товара"

4. Фсе, или я упустил какой то момент?

 

З.ы. это вариант реализации фильтра товаров по ценовым диапазонам.

В приложении сделал все скрины. Шаблон дефолтный. 

8da73f02d360ffbd910cd6c296abe111.jpg - группа атрибутов

c3ff26dbc877ec0b1c667bc2d150cab6.jpg - сами атрибуты (проставлены у всех товаров)

 

1c469c3e85782cac2ee730ae0a9be3c3.jpg - создание вашего фильтра

5d05dc226d3c1217e7e7333040867108.jpg - вот так отображается товар

Надіслати
Поділитися на інших сайтах


Почему такие долгие запросы

Total time 31.1422 seconds | Total queries:68

 

query time:0.0792 seconds | controller: ControllerModuleCoolfilter
SELECT MIN(pr.price) as min, MAX(pr.price) as max, MIN((SELECT pd2.price FROM oc_product_discount pd2 WHERE pd2.product_id = pr.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1)) AS discount, MIN((SELECT ps.price FROM oc_product_special ps WHERE ps.product_id = pr.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1)) AS special FROM `oc_product` pr LEFT JOIN `oc_product_to_category` ct ON (pr.product_id = ct.product_id) WHERE pr.status = 1 AND ct.category_id IN (126,144,145,146,147,148,149,150,151,152,143,142,129,128,127,130,131,132,133,134,135,141,140,139,138,137,136)
query time:1.056 seconds | controller: ControllerModuleCoolfilter
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN (SELECT pr.product_id, pr.price, (SELECT pd2.price FROM `oc_product_discount` pd2 WHERE pd2.product_id = pr.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) discount, (SELECT ps.price FROM `oc_product_special` ps WHERE ps.product_id = pr.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) special FROM `oc_product` pr LEFT JOIN `oc_product_to_category` ct ON (pr.product_id = ct.product_id) WHERE pr.status = '1') tb ON (p.product_id = tb.product_id) LEFT JOIN oc_product_filter parp_4 ON (p.product_id = parp_4.product_id) LEFT JOIN oc_filter_description fdp_4 ON (parp_4.filter_id = fdp_4.filter_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '126'AND tb.price >= '0' AND (tb.discount IS NULL OR tb.discount >= '0') AND (tb.special IS NULL OR tb.special >= '0') AND tb.price <= '9999999' AND (tb.discount IS NULL OR tb.discount <= '9999999') AND (tb.special IS NULL OR tb.special <= '9999999') AND (fdp_4.language_id = '1' AND parp_4.filter_id IN ('29'))
query time:1.0385 seconds | controller: ControllerModuleCoolfilter
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN (SELECT pr.product_id, pr.price, (SELECT pd2.price FROM `oc_product_discount` pd2 WHERE pd2.product_id = pr.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) discount, (SELECT ps.price FROM `oc_product_special` ps WHERE ps.product_id = pr.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) special FROM `oc_product` pr LEFT JOIN `oc_product_to_category` ct ON (pr.product_id = ct.product_id) WHERE pr.status = '1') tb ON (p.product_id = tb.product_id) LEFT JOIN oc_product_filter parp_4 ON (p.product_id = parp_4.product_id) LEFT JOIN oc_filter_description fdp_4 ON (parp_4.filter_id = fdp_4.filter_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '126'AND tb.price >= '96382' AND (tb.discount IS NULL OR tb.discount >= '96382') AND (tb.special IS NULL OR tb.special >= '96382') AND tb.price <= '9999999' AND (tb.discount IS NULL OR tb.discount <= '9999999') AND (tb.special IS NULL OR tb.special <= '9999999') AND (fdp_4.language_id = '1' AND parp_4.filter_id IN ('29'))
query time:0.0005 seconds | controller: ControllerModuleCoolfilter
SELECT DISTINCT f.filter_id as value, f.filter_group_id as id, fd.name as name FROM `oc_filter` f LEFT JOIN oc_filter_description fd ON (f.filter_id = fd.filter_id) LEFT JOIN oc_filter_group fg ON (f.filter_group_id = fg.filter_group_id) WHERE f.filter_group_id IN (3,2,5,4) AND language_id = '1' ORDER BY f.sort_order
query time:1.0834 seconds | controller: ControllerModuleCoolfilter
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN (SELECT pr.product_id, pr.price, (SELECT pd2.price FROM `oc_product_discount` pd2 WHERE pd2.product_id = pr.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) discount, (SELECT ps.price FROM `oc_product_special` ps WHERE ps.product_id = pr.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) special FROM `oc_product` pr LEFT JOIN `oc_product_to_category` ct ON (pr.product_id = ct.product_id) WHERE pr.status = '1') tb ON (p.product_id = tb.product_id) LEFT JOIN oc_product_filter parp_4 ON (p.product_id = parp_4.product_id) LEFT JOIN oc_filter_description fdp_4 ON (parp_4.filter_id = fdp_4.filter_id) LEFT JOIN oc_product_filter parp_2 ON (p.product_id = parp_2.product_id) LEFT JOIN oc_filter_description fdp_2 ON (parp_2.filter_id = fdp_2.filter_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '126'AND tb.price >= '0' AND (tb.discount IS NULL OR tb.discount >= '0') AND (tb.special IS NULL OR tb.special >= '0') AND tb.price <= '96382' AND (tb.discount IS NULL OR tb.discount <= '96382') AND (tb.special IS NULL OR tb.special <= '96382') AND (fdp_4.language_id = '1' AND parp_4.filter_id IN ('29')) AND (fdp_2.language_id = '1' AND parp_2.filter_id IN ('7'))
query time:1.0288 seconds | controller: ControllerModuleCoolfilter
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN (SELECT pr.product_id, pr.price, (SELECT pd2.price FROM `oc_product_discount` pd2 WHERE pd2.product_id = pr.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) discount, (SELECT ps.price FROM `oc_product_special` ps WHERE ps.product_id = pr.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) special FROM `oc_product` pr LEFT JOIN `oc_product_to_category` ct ON (pr.product_id = ct.product_id) WHERE pr.status = '1') tb ON (p.product_id = tb.product_id) LEFT JOIN oc_product_filter parp_4 ON (p.product_id = parp_4.product_id) LEFT JOIN oc_filter_description fdp_4 ON (parp_4.filter_id = fdp_4.filter_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '126'AND tb.price >= '0' AND (tb.discount IS NULL OR tb.discount >= '0') AND (tb.special IS NULL OR tb.special >= '0') AND tb.price <= '96382' AND (tb.discount IS NULL OR tb.discount <= '96382') AND (tb.special IS NULL OR tb.special <= '96382') AND (fdp_4.language_id = '1' AND parp_4.filter_id IN ('28'))
query time:1.027 seconds | controller: ControllerModuleCoolfilter
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN (SELECT pr.product_id, pr.price, (SELECT pd2.price FROM `oc_product_discount` pd2 WHERE pd2.product_id = pr.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) discount, (SELECT ps.price FROM `oc_product_special` ps WHERE ps.product_id = pr.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) special FROM `oc_product` pr LEFT JOIN `oc_product_to_category` ct ON (pr.product_id = ct.product_id) WHERE pr.status = '1') tb ON (p.product_id = tb.product_id) LEFT JOIN oc_product_filter parp_4 ON (p.product_id = parp_4.product_id) LEFT JOIN oc_filter_description fdp_4 ON (parp_4.filter_id = fdp_4.filter_id) LEFT JOIN oc_product_filter parp_2 ON (p.product_id = parp_2.product_id) LEFT JOIN oc_filter_description fdp_2 ON (parp_2.filter_id = fdp_2.filter_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '126'AND tb.price >= '0' AND (tb.discount IS NULL OR tb.discount >= '0') AND (tb.special IS NULL OR tb.special >= '0') AND tb.price <= '96382' AND (tb.discount IS NULL OR tb.discount <= '96382') AND (tb.special IS NULL OR tb.special <= '96382') AND (fdp_4.language_id = '1' AND parp_4.filter_id IN ('29')) AND (fdp_2.language_id = '1' AND parp_2.filter_id IN ('6'))
query time:1.0224 seconds | controller: ControllerModuleCoolfilter
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN (SELECT pr.product_id, pr.price, (SELECT pd2.price FROM `oc_product_discount` pd2 WHERE pd2.product_id = pr.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) discount, (SELECT ps.price FROM `oc_product_special` ps WHERE ps.product_id = pr.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) special FROM `oc_product` pr LEFT JOIN `oc_product_to_category` ct ON (pr.product_id = ct.product_id) WHERE pr.status = '1') tb ON (p.product_id = tb.product_id) LEFT JOIN oc_product_filter parp_4 ON (p.product_id = parp_4.product_id) LEFT JOIN oc_filter_description fdp_4 ON (parp_4.filter_id = fdp_4.filter_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '126'AND tb.price >= '0' AND (tb.discount IS NULL OR tb.discount >= '0') AND (tb.special IS NULL OR tb.special >= '0') AND tb.price <= '96382' AND (tb.discount IS NULL OR tb.discount <= '96382') AND (tb.special IS NULL OR tb.special <= '96382') AND (fdp_4.language_id = '1' AND parp_4.filter_id IN ('27'))

и тд..

и как это исправить? 

Надіслати
Поділитися на інших сайтах


Focto

это то понятно конечно , но почему при отключении у меня фильтр остается только по цене , остальных не видно

 

Скорее всего не настроен фильтр для той категории в которой его не видно.

Я делал так, создавал группы фильтров с аналогичными названиями Категорий каталога и в каждой группе указывал к каким категориям товаров они относятся.

Затем создавал сами фильтры, которые в свою очередь приписывал к группам фильтров в поле entry_coolfilter_groups.

Если не помогло, посмотри логи, может где-то ошибки.

Надіслати
Поділитися на інших сайтах


Focto

 

Я понял что что то не так если фильтров совсем не было, но они появляются как только включаю количество товаров , если выключаю то все фильтры кроме цены пропадают , я конечно посмотрю почему так , но по моему проблема не у меня одного, а тебе спасибо за участие

Надіслати
Поділитися на інших сайтах


Спасибо за фильтр.

Устанавливаю, настраиваю , отлично работает.

 

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

Надіслати
Поділитися на інших сайтах


Присоединяюсь к вопросу, что при выключенном показе количества товаров выводится только фильтрация по цене.

На локале работает норм. Может быть кто-то решил эту проблему?

Кэш чистился.

Надіслати
Поділитися на інших сайтах


Подскажите пожалуйста, этот модуль будет работать на сборке MaxyStore 1.5.5.1 ? Установил данный модуль, в фильтрах он появился, но пункта "Фильтр товаров" в каталоге нет((( Может нужно что-то подкорректировать?

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

PHP Notice:  Undefined index: coolfilter_group_id in /home/s/san4ik/auto-kolpaki.com.ua/public_html/catalog/controller/module/coolfilter.php on line 30

В этом файле с 30-той строки (Получить id группы фильтра):
 

30   $coolfilter_group_id = $setting['coolfilter_group_id'];

Также переустановил VQMod, а потом установил "VQMod Manager" и в нем получил при установке модуля, вот такую ошибку:

File Name    : catalog/controller/product/category.php(3)
VQModObject::applyMod - SEARCH NOT FOUND (ABORTING MOD): 'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)

После чистки кеша, установки VQMod, потом VQMod Manager, переустановки модуля - появился пункт "Фильтр товаров" и напротив него даже стоит стрелочка, намекая, что есть подпункты, но когда наводишь, ничего не происходит - подпунктов нет.

Подскажите, как побороть ошибки? И возможно ли в этой версии (MaxyStore 1.5.5.1) ?

Надіслати
Поділитися на інших сайтах


Фильтр отличный всё работает. Но столкнулся с тремя проблемками.

1) 

Warning: mysql_query() [function.mysql-query]: [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in /home/kharko05/vkraini.com/infant/admin/model/catalog/coolfilter.php on line 219Warning: mysql_query() [function.mysql-query]: No such file or directory in /home/kharko05/vkraini.com/infant/admin/model/catalog/coolfilter.php on line 219Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in/home/kharko05/vkraini.com/infant/admin/model/catalog/coolfilter.php on line 219Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/kharko05/vkraini.com/infant/admin/model/catalog/coolfilter.php on line219

 

2)

k9vk6ecqjiml.jpgЦены снизу налипли друг на друга, может их лучше вообще убрать. И как?

3)

mtv3dca1iyvo.jpgСортировка списка идёт не так как задано в сортировке. Заголовки "Возраст" и "Цвет" разные один не выделен, а другой выделен.

Надіслати
Поділитися на інших сайтах

Спасибо за фильтр. Подскажите пожалуйста в логах vqmod ошибки :

 

REQUEST URI : /kategorii/iso-perehodnik/?coolfilter=p:196,401
MOD DETAILS:
   modFile   : /home/srv50871/12voltchelny.ru/vqmod/xml/vqmod_filter_products.xml
   id        : Cool Filter
   version   : 1.5.5.1.3
   vqmver    : 2.1.x
   author    : <a onClick="window.open('http://ocshop.info');" title="Ocshop.info">Ocshop.info</a>

File Name    : catalog/controller/product/category.php(4)
VQModObject::applyMod - SEARCH NOT FOUND (ABORTING MOD): if ($category_info) {
 

После нажатия кнопки "Применить"

Тоже ошибка :

Notice: Error: Not unique table/alias: 'tb'
Error No: 1066

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.