Domanda

Ho fatto due semplici regole carrello della spesa dal backend.

La prima ha azione che si basa 'SKU è uno dei'.

La seconda ha azione sulla base di 'Marca contiene'.

Ho fatto una funzione personalizzata per codice di visualizzazione di sconto e l'importo nella pagina dei dettagli.

Ma sulla pagina della scheda per la Regola 1, sto vedendo la quantità di codice promozionale e sconto della regola 2.

In alternativa, i pls mi suggeriscono come raggiungere regola id di una regola carrello per Brand e SKU.

È stato utile?

Soluzione

Questa è tratto da una domanda StackOverflow che ho partecipato, ma modificato per la tua domanda.

Questa scorre tutte carrello della spesa regole nel rule_collection, confronta il Prodotto Codice sulla pagina di visualizzazione e echos il Codice Promozionale. Sulla base di questo codice è possibile modificarlo per ottenere anche il codice coupon per 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;
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top