Помощь SimonFilters и ошибка MYSQL

Тема в разделе "Opencart", создана пользователем animal_x, 20 май 2015.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    ocStore 1.5.4.1.2
    Simon Filters 2.10.0 Build 0002

    Сначала обнаружил что перестал работать фильтр, после выбора одного из параметров товары исчезают, как будто их нет, хотя они есть. Почистил кеш системы, вкмода - не помогло. Полез в лог файл и там ошибка:
    PHP:
    2015-05-20 16:06:17 PHP Notice:  ErrorYou have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '(p.price BETWEEN 2647 AND 14929 OR ps.price BETWEEN 2647 AND 14929 ) AND  GROUP ' at line 3<br />Error No1064<br />SELECT p.product_id, (SELECT AVG(rating) AS total FROM review r1 WHERE r1.product_id p.product_id AND r1.status '1' GROUP BY r1.product_id) AS rating FROM product p LEFT JOIN product_description pd ON (p.product_id pd.product_idLEFT JOIN product_to_store p2s ON (p.product_id p2s.product_idLEFT JOIN product_to_category p2c ON (p.product_id p2c.product_idLEFT JOIN product_special ps ON (p.product_id ps.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 IN (65717478706976756873677277)

    (
    p.price BETWEEN 2647 AND 14929 OR ps.price BETWEEN 2647 AND 14929 ) AND  GROUP BY p.product_id ORDER BY p.sort_order ASCLCASE(pd.nameASC in /www/system/database/mysql.php on line 49
    Пробовал уже переставить фильтр, также не помогло. Причем есть 2 практически одинаковых магазина, с одинаковыми модулями и этим саймонфильтром. На одном все продолжает работать, а на другом вот такая беда.
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    Вероятнее всего один из фильтров либо настроен либо задан не с неверными параметрами. Но это не глядя на код, чисто на основе опыта разработки ;)
     
  3. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    На 2х сайтах настройки одинаковы, и не важно по какому признаку фильтрую (цена, опция, тег, категория), все равно ошибка
     
  4. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    у вас между AND p2c.category_id IN (65, 71, 74, 78, 70, 69, 76, 75, 68, 73, 67, 72, 77) и (p.price BETWEEN 2647 AND 14929 OR ps.price BETWEEN 2647 AND 14929 )
    не стоит ключевое слово AND
     
    Последнее редактирование: 20 май 2015
  5. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    В общем решил проблему, сначала грешил на базу, т.к она обновляется почти каждый день, пробовал и откатывать на старую версию но также безрезультатно.
    Потом начал сравнивать пофайлово файлы фильтра на обеих сайтах, и заметил такой файл по пути:
    /www/catalog/model/catalog/product.simonbackup.20150506140541.php, т.е фильтр почемуто сделал бекап модели продукта 6 мая и перезаписал ее с изменениями, хотя я в мае к файлам и настройкам точно не лез. В общем я переименовал этот simonbackup файл в product.php и все заработало.