Magento 1.9:观察者不工作。有没有办法测试观察者是否工作?
Magento 1.9: Observer not working. Is there any way to test observer is working or not?
我在 config.xml
文件中添加了以下代码
<?xml version="1.0"?>
<config>
<global>
<events>
<checkout_cart_add_product_complete>
<observers>
<oroola_oroolachildren_observer>
<type>singleton</type>
<class>oroola_oroolachildren/observer</class>
<method>updateProductPrice</method>
</oroola_oroolachildren_observer>
</observers>
</checkout_cart_add_product_complete>
</events>
</global>
</config>
所以根据上面的配置文件,我在 app/code/local/Oroola/Oroolachildren/Model/
中创建了一个 Observer.php 文件
Observer.php
<?php
Class Oroola_Oroolachildren_Model_Observer extends Varien_Event_Observer
{
public function updateProductPrice(Varien_Event_Observer $obs)
{
header('Location: http://www.google.com/');
die();
$quote = $obs->getEvent()->getQuote();
$item = $obs->getQuoteItem();
$product_id=$item->getProductId();
$_product=Mage::getModel('catalog/product')->load($product_id);
$newprice=$_product->getPrice()+rand(10,100);
Mage::log('My log entry', null, 'mylogfile.log');
// Set the custom price
$item->setCustomPrice($newprice);
$item->setOriginalCustomPrice($newprice);
// Enable super mode on the product.
$item->getProduct()->setIsSuperMode(true);
die();
}
}
?>
我已添加 php header 并将其重定向到 google.com 以测试其是否正常工作。
但这不起作用。
我想更改产品价格 before/after 添加到购物车。
我已经更改了 config.xml 文件中的代码,在清除缓存后它可以正常工作。
<class>Oroola_Oroolachildren_Model_Observer</class>
<method>updateProductPrice</method>
我在 config.xml
文件中添加了以下代码
<?xml version="1.0"?>
<config>
<global>
<events>
<checkout_cart_add_product_complete>
<observers>
<oroola_oroolachildren_observer>
<type>singleton</type>
<class>oroola_oroolachildren/observer</class>
<method>updateProductPrice</method>
</oroola_oroolachildren_observer>
</observers>
</checkout_cart_add_product_complete>
</events>
</global>
</config>
所以根据上面的配置文件,我在 app/code/local/Oroola/Oroolachildren/Model/
中创建了一个 Observer.php 文件Observer.php
<?php
Class Oroola_Oroolachildren_Model_Observer extends Varien_Event_Observer
{
public function updateProductPrice(Varien_Event_Observer $obs)
{
header('Location: http://www.google.com/');
die();
$quote = $obs->getEvent()->getQuote();
$item = $obs->getQuoteItem();
$product_id=$item->getProductId();
$_product=Mage::getModel('catalog/product')->load($product_id);
$newprice=$_product->getPrice()+rand(10,100);
Mage::log('My log entry', null, 'mylogfile.log');
// Set the custom price
$item->setCustomPrice($newprice);
$item->setOriginalCustomPrice($newprice);
// Enable super mode on the product.
$item->getProduct()->setIsSuperMode(true);
die();
}
}
?>
我已添加 php header 并将其重定向到 google.com 以测试其是否正常工作。
但这不起作用。
我想更改产品价格 before/after 添加到购物车。
我已经更改了 config.xml 文件中的代码,在清除缓存后它可以正常工作。
<class>Oroola_Oroolachildren_Model_Observer</class>
<method>updateProductPrice</method>