0
因此,沒有人對如何設置事件數據有很好的解釋。我已經閱讀了大量關於getEvent的文章,並且只在setEvent上找到了Magento文檔。設置Magento事件數據
如何在* before_save中設置事件數據(從觀察者返回)?
代碼
public function onCategorySaveBefore($observer)
{
$rules = Mage::getResourceModel('categoryrules/rules_collection');
$keepSpecialFlag = 1;
$event = $observer->getEvent();
$categoryId = $event->getCategory()->getId();
foreach ($rules as $r) {
if ($r['category_id'] != $categoryId) {
$keepSpecialFlag = 0;
}
}
if ($keepSpecialFlag==0) {
#code needs saved here. something like $event->setData('rogue_category_rule', 0);
}
return;
}
config.xml中
<catalog_category_save_before>
<observers>
<categoryrules>
<type>singleton</type>
<class>categoryrules/observer</class>
<method>onCategorySaveBefore</method>
</categoryrules>
</observers>
</catalog_category_save_before>
謝謝Serjio。我在不久之前就明白了這一點。然而,欣賞答案! – 2012-08-03 15:09:57