如何显示该产品具有的Prestashop 1.6
问题描述:
的Prestashop 1.6,我们已经为特定产品车的规则,通过增加3个产品,另外1种产品将被添加作为礼物车规则,如何显示该产品具有的Prestashop 1.6
这是车中的所有运作良好页面,
但如何对该特定产品的页面
$context::$this->$cart->$getCartRules();
没有显示产品页面上
我们必须显示购物车RUL上显示这在特定产物E,它是具有尊重规则的车,
ex. "buy this product and you will get xyz product for free"
答
我认为ü将不得不建立自己的查询选择cart_rules与gift_product ID仍然活性物。
在CartRule添加静态方法(或其中u需要),并在product.tpl直接调用,并显示它
例如:{CartRule::getGifts($product.id)}
然后,处理结果
答
构建自定义查询相同:
$result = Db::getInstance()->executeS('
SELECT *,rg.quantity as minimum_quantity FROM `'._DB_PREFIX_.'cart_rule_product_rule_value` cv
LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule` pr ON cv.id_product_rule = pr.id_product_rule
LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule_group` rg ON pr.id_product_rule_group = rg.id_product_rule_group
LEFT JOIN `'._DB_PREFIX_.'cart_rule` cr ON cr.id_cart_rule = rg.id_cart_rule
WHERE cv.id_item = '.$this->id_product.' AND cr.gift_product > 0 AND cr.date_to >= "'.date("Y-m-d H:i:s").'"'
);
答
我在解决方案Product.php
public function getRule($category = "0"){
$rules = Db::getInstance()->executeS('SELECT *,rg.quantity as minimum_quantity FROM `'._DB_PREFIX_.'cart_rule_product_rule_value` cv
LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule` pr ON cv.id_product_rule = pr.id_product_rule
LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule_group` rg ON pr.id_product_rule_group = rg.id_product_rule_group
LEFT JOIN `'._DB_PREFIX_.'cart_rule` cr ON cr.id_cart_rule = rg.id_cart_rule
WHERE code = "" and ((cv.id_item = '.$this->id.' and type = "products") or (cv.id_item = '.$category.' and type = "categories")) AND cr.date_to >= "'.date("Y-m-d H:i:s").'"'
);
return $rules;
}