Question

J'ai fait deux simples règles de panier de back-end.

La première a une action qui est basé 'SKU est l'un des'.

La seconde a une action fondée sur la «Marque contient.

Je l'ai fait une fonction personnalisée pour afficher le code de réduction et le montant à la page de détails.

Mais sur la liste page pour l'article 1, je vois le Code Promo et Montant de la remise de la règle 2.

Sinon, merci de me suggèrent comment obtenir règle id d'une règle de panier pour la marque et SKU.

Était-ce utile?

La solution

Ceci est pris d'une question StackOverflow que j'ai participé, mais modifié pour votre question.

Ce parcourt toutes les règles de shopping dans le panier rule_collection, compare le produit sku sur la page de vue et le Code echos du coupon. Sur la base de ce code, vous pouvez le modifier pour obtenir également le code de coupon pour la marque.

$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;
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top