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