2011-09-10 50 views
3

我有以下問題:Magento的 - 適用無折扣的購物車規則

有一個第三方的擴展名,當用戶增加了一些特定的產品,它會自動添加產品到購物車作爲禮物。它也適用優惠券。例如,當用戶想要購買電視時,它會添加免費的WiFi接收器。它增加了足夠好的產品,但是必須有購物車規則才能使這些產品享受100%的折扣。

我需要做的是使這個擴展名爲免費添加這些產品,無需購物車規則。我發現唯一與折扣有關的事件是sales_quote_address_discount_item,但是對它的任何操作都沒有結果。

所以我會很感激,如果有人指出我在正確的方向:代碼中的確切代碼是應用此折扣,我怎樣才能使這個擴展相同?

回答

7

來自優惠券的折扣適用於Mage_SalesRule_Model_Validatorprocess()方法。每次在報價上調用collectTotals()時都會調用此方法。您需要重寫此類(可能還有其他幾種)來覆蓋優惠券行爲。在該方法salesrule_validator_process中有一個事件,您可能可以使用而不是覆蓋整個方法,但它取決於您需要更改哪種邏輯以確定它是否發生在正確的位置。

+0

非常感謝。這就是我需要的。 –

2

您可以在觸發add_to_cart_after事件後添加自己的邏輯。 (例如創建自己的事件apply_discount_after_add_to_cart;)

2

看看這個模塊;它可以將產品添加到購物車中作爲禮物,並在添加產品時將其價格設置爲0 $:http://www.code4business.de/make-a-gift-magento-warenkorbpreisregeln-um-geschenke-erweitern/

爲此,它捕獲兩個事件salesrule_validator_process和sales_quote_collect_totals_before。它不會重寫任何內容。代碼也在http://www.webguys.de/magento/turchen-21-kostenlose-produkte-uber-warenkorb-preisregeln/中詳細描述。

它需要一個價格規則 - 但只是爲了確定您獲得禮物的產品(或條件)。禮物總是免費的;不需要額外的規則。

相關問題