我从后端制定了两个简单的购物车规则。

第一个动作基于“ SKU是之一”。

第二个具有基于“品牌包含”的动作。

我制作了一个自定义功能,以显示折扣代码和详细信息页面上的金额。

但是在规则1的上市页面上,我看到了规则2的促销代码和折扣金额。

另外,请建议我如何获得品牌和SKU购物车规则的规则ID。

有帮助吗?

解决方案

这是从我参与的堆叠式问题中获取的,但已修改为您的问题。

这在所有购物车规则中迭代 rule_collection, ,比较视图页面上的产品SKU,并回应优惠券代码。基于此代码,您可以对其进行修改以获取品牌的优惠券代码。

$current_sku=$_product->getSku(); // Sku you are looking for

$rules = Mage::getResourceModel('salesrule/rule_collection')->load();

foreach ($rules as $rule) {
    if ($rule->getIsActive()) {
        $rule = Mage::getModel('salesrule/rule')->load($rule->getId()); 

        $conditions = $rule->getConditions()->asArray();

        foreach( $conditions['conditions'] as $_conditions ):
            foreach( $_conditions['conditions'] as $_condition ):
                $string = explode(',', $_condition['value']);
                for ($i=0; $i<count($string); $i++) {
                    $sku = trim($string[$i]);
                    if ($sku==$current_sku) {
                            echo $rule->getCouponCode(); // Return coupon code that matches the sku condition
                    }
                }
            endforeach;
        endforeach;
    }
}
许可以下: CC-BY-SA归因
scroll top