Frage

Ich habe zwei einfache Einkaufswagenregeln aus dem Backend erstellt.

Die erste hat eine Aktion, auf der sich SKU basiert.

Die zweite hat Aktion, die auf "Marke enthält" basiert.

Ich habe eine benutzerdefinierte Funktion zum Anzeigen von Rabattcode und Betrag auf der Seite mit Details erstellt.

Auf der Auflistungsseite für Regel 1 sehe ich jedoch den Promo -Code und den Rabattbetrag von Regel 2.

Alternativ schlägt Pls mir vor, wie ich eine Regel -ID einer Einkaufswagenregel für Marke und SKU erhalten kann.

War es hilfreich?

Lösung

Dies stammt aus einer Stackoverflow -Frage, an der ich teilgenommen habe, aber für Ihre Frage geändert wurde.

Dies iteriert alle Einkaufswagenregeln in der rule_collection, Vergleicht das Produkt -SKU auf der Ansichtsseite und spiegelt den Gutscheincode wider. Basierend auf diesem Code können Sie ihn ändern, um auch den Gutscheincode für die Marke zu erhalten.

$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;
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top