Цены только на товары с остатком

Возможно кто-то сталкивался или есть готовое решение.

Цель - в каталоге продукции и фильтрации отображать цены только для товаров в наличии

Пример:

Есть на сайте фильтрация по ценам. Когда то был товар стоимостью 254000р, его давно уже нет. А при фильтрации цен - эта цена выходит.

2 ответа

  • 1

    Если речь об обнулении цены товара в случае его отсутствия в наличии, то с такой задачей может справиться плагин Автоматическое управление товарами. Там можно создать 2 правила. Первое для товаров с остатком 0 устанавливает зачеркнутую цену равной цене товара и затем устанавливает цену товара равной нулю. Второе - для товаров с ценой 0 и положительным остатком восстанавливает предыдущее значение цены из поля зачеркнутой цены.

  • 1
    greencity116 21 октября 2019 12:44 #
    shopProductsCollection->getPriceRange()

    Как вариант можно было использовать хук products_collection.filter 

    На скорую руку сделал так

    Было

    SELECT 
        MIN(p.min_price) min, MAX(p.max_price) max 
        FROM shop_product p 
        JOIN shop_category_products cp1 
            ON p.id = cp1.product_id 
    WHERE p.status = 1 
        AND cp1.category_id IN(%cat%)

    Стало

    SELECT     
        MIN(spk.price) min, MAX(spk.price) max     
        FROM shop_product_skus spk     
        JOIN shop_product p         
            ON p.id = spk.product_id    
        JOIN shop_category_products cp1       
            ON p.id = cp1.product_id 
    WHERE spk.count>0 
        AND cp1.category_id IN(%cat%);

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите