Magento - 添加了产品来源?

时间:2012-02-07 00:02:26

标签: magento shopping-cart

我希望能够将某些规则应用于添加到购物车的产品,具体取决于添加到哪里(产品页面,类别页面,心愿单)。我可以调用任何属性或方法来找出它的添加位置吗?也许在Mage_Sales_Model_Quote_Item或Mage_Sales_Model_Quote_Item_Option?

谢谢

1 个答案:

答案 0 :(得分:2)

当项目添加到报价时,您可能会更好地使用event model来捕获。 sales_quote_add_item

有一个事件

然后,您可以编写一个检查引用者并应用规则的观察者。 这是一些非常基本的代码,应该为您提供一个起点

<强> config.xml中

<global>
    <events>
        <sales_quote_add_item>
            <observers>
                <apply_price_rules>
                    <type>singleton</type>
                    <class>Your_Module_Model_Observer</class>
                    <method>applySpecialPriceRules</method>
                </apply_price_rules>
            </observers>
        </sales_quote_add_item>
    </events>
</global>

<强> Observer.php

public function applySpecialPriceRules($observer) {
    $referer = Mage::app()->getFrontController()->getRequest()->getServer('HTTP_REFERER');
    $quoteItem = $observer->getEvent()->getItem();

    if(strpos($referer,'wishlist') !== false) {
        // apply rule 1
    }
    elseif(strpos($referer,'category') !== false) {
        // apply rule 2
    }
    else {
        // apply rule 3
    }
}