Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

snastik
 Share

Recommended Posts

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

Link to comment
Share on other sites


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

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

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

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

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

 

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

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

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

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

 

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

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

Link to comment
Share on other sites


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

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'))

и тд..

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

Link to comment
Share on other sites


Подскажите, как добавить в модуль фильтрацию по налилию? Я думаю это очень актуально, особенно для потому чтольшого когдачества товаров.

Link to comment
Share on other sites


Focto

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

 

А как добавлял осильные?

Link to comment
Share on other sites


Focto

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

 

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

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

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

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

Link to comment
Share on other sites


Focto

 

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

Link to comment
Share on other sites


Спасипотому что за фильтр.

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

 

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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


Подскажите пожалуйси, этот модуль бугдет рилиить на спотому чторке 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) ?

Link to comment
Share on other sites


Столкнулся с странной проблемой, какой бы фильтр не посивить показывает все товары хотя одного производителя 8 товаров и другого 8.

1.jpg

Link to comment
Share on other sites


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

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Сортировка списка идёт не ик как задано в сортировке. Заголовки "Возраст" и "Цвет" разные один не выгделен, а другой выгделен.

Link to comment
Share on other sites

Спасипотому что за фильтр. Подскажите пожалуйси в логах 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('../../../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

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.