Pregunta

He hecho dos reglas simples de la cesta de la compra backend.

El primero tiene una acción que se basa 'SKU es uno de'.

El segundo tiene una acción basada en la 'Marca contiene'.

He hecho una función personalizada para código de visualización de descuento y la cantidad en la página de detalles.

Sin embargo, en la página de la ficha de la Regla 1, estoy viendo la Cantidad Código de promoción y descuento de la Regla 2.

Como alternativa, los pls me sugieren cómo conseguir Identificación del imperio de la regla carro de compras para la marca y SKU.

¿Fue útil?

Solución

Esto está tomado de una pregunta StackOverflow que he participado en, pero modificado para su pregunta.

Este itera a través de todas las reglas Carrito de la compra en el rule_collection, compara el SKU del producto en la página de vista y el eco de un código promocional. Sobre la base de este código se puede modificar también para obtener el código de cupón para la marca.

$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;
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top