我想在观察者对象中打印所有可用信息,
假设我在app / local / Namespace / Modulename / etc / config.xml中有一个事件:
Config.xml :
<checkout_cart_product_add_after>
<observers>
<namespace_modulename_checkout_cart_product_add_after_observer>
<type>singleton</type>
<class>Namespace_Modulename_Model_Observer</class>
<method>onAddToCart</method>
</namespace_modulename_checkout_cart_product_add_after_observer>
</observers>
</checkout_cart_product_add_after>
此事件将在Observer.php中调用onAddToCart函数: 此事件成功调用了函数。 的 Observer.php:
public function onAddToCart(Varien_Event_Observer $observer)
{
$product = $observer->getEvent()->getProduct();
$name = $product->getName();
$sku = $product->getSku();
Mage::log(
"{$name} ({$sku}) updated",
null,
'product-updates.log'
);
}
我想在onAddToCart函数中做的事情是这样的:
public function onAddToCart(Varien_Event_Observer $observer)
{
$test4 = var_dump($observer->getDataObject()->getData());
Mage::log(
"{$test4}",
null,
'product-updates.log'
);
}
问题: 当我做的时候
$test4 = var_dump($observer->getDataObject()->getData());
Mage::log(
"{$test4}",
null,
'product-updates.log'
);
我在system.log文件中收到此错误:
Notice: Array to string conversion in /opt/lampp/htdocs/magento2/app/code/local/Namespace/Modulename/Model/Observer.php on line 62
并且它不使用var_dump函数打印任何内容, 我想要的是观察者对象中的所有可用信息都会自动打印,就像使用print_r打印数组一样,但是我在$ observer对象上尝试了var_dump和print_r并没有成功。
任何帮助都将不胜感激。
编辑:使用print_r而不是var_dump,
$test4 = print_r($observer->getDataObject()->getData(), true);
Mage::log(
"{$test4}",
null,
'product-updates.log'
);
仍然无效。