Prestashop:如何将优惠券限制为尚未打折的产品?
Prestashop: how to limit a voucher to products that are not already discounted?
我发现这是一个常见问题,但也许有一些更新的方法可以解决我不知道的问题,但我真的希望如此。也许一些代码修改。
很明显,商家应该能够创建优惠券,并且可以选择不将其应用于本身已经打折的产品。 prestashop 似乎不是这种情况。
目前我能想到的唯一办法,就是把打折的商品放在一个特殊的前端菜单隐藏的假类目中,然后将代金券分配给除假类外的所有类目。基本上,颠倒逻辑。确实很疯狂。
那么,有没有更聪明的方法来做到这一点?
我不确定新发布的 1.7,但在 1.6 中你必须创建你建议的隐藏类别。
这是获取所有产品销售状态的快速方法:
SELECT
p.id_product,
(SELECT COUNT(*) FROM ps_specific_price WHERE id_product = p.id_product AND id_cart = 0 AND id_customer = 0 AND ((`from` <= NOW() AND `to` >= NOW()) OR (`from` = "0000-00-00 00:00:00" AND `to` >= NOW()) OR (`from` = "0000-00-00 00:00:00" AND `to` = "0000-00-00 00:00:00"))) on_sale
FROM ps_product p
ORDER BY p.id_product
请注意id_shop(多店),货币和国家不考虑。
我发现这是一个常见问题,但也许有一些更新的方法可以解决我不知道的问题,但我真的希望如此。也许一些代码修改。
很明显,商家应该能够创建优惠券,并且可以选择不将其应用于本身已经打折的产品。 prestashop 似乎不是这种情况。
目前我能想到的唯一办法,就是把打折的商品放在一个特殊的前端菜单隐藏的假类目中,然后将代金券分配给除假类外的所有类目。基本上,颠倒逻辑。确实很疯狂。
那么,有没有更聪明的方法来做到这一点?
我不确定新发布的 1.7,但在 1.6 中你必须创建你建议的隐藏类别。
这是获取所有产品销售状态的快速方法:
SELECT
p.id_product,
(SELECT COUNT(*) FROM ps_specific_price WHERE id_product = p.id_product AND id_cart = 0 AND id_customer = 0 AND ((`from` <= NOW() AND `to` >= NOW()) OR (`from` = "0000-00-00 00:00:00" AND `to` >= NOW()) OR (`from` = "0000-00-00 00:00:00" AND `to` = "0000-00-00 00:00:00"))) on_sale
FROM ps_product p
ORDER BY p.id_product
请注意id_shop(多店),货币和国家不考虑。