Вопрос

Я сделал два простых правила корзины с бэкэнд.

Первое имеет действие, которое основано на «Sku - это один из».

Второе имеет действие, основанное на «бренде содержит».

Я сделал пользовательскую функцию для отображения кода скидки и суммы на странице сведений.

Но на странице листинга для правила 1 я вижу промо -код и сумму скидки правила 2.

В качестве альтернативы, пожалуйста, подсказывают мне, как получить идентификатор правил корзины для покупок для бренда и SKU.

Это было полезно?

Решение

Это взято из вопроса Stackoverflow, в котором я участвовал, но модифицировано для вашего вопроса.

Это итерация через все правила корзины в торгах в 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 с атрибуция
Не связан с magento.stackexchange
scroll top