我需要一个在产品加载之前/之后调用的magento事件/观察者。 我想通过该观察者更改/追加产品名称。
我使用 catalog_product_load_after事件,
但是当您从搜索中加载产品时,它不起作用, 而且它也不会打电话给主页上的产品,如最畅销的产品等。
基本上是一个函数/观察者/事件,每当产品加载到magento前端时调用它是否加载到主页或搜索页面上。
答案 0 :(得分:8)
catalog_product_load_after
事件有效,每次产品加载时都会触发。如果您认为产品未加载或事件已被您的商店定制更改,则不会触发。
重要的是,请注意,如果您要加载产品系列,catalog_product_load_after
事件将不触发(因为在这种情况下,您当然不会加载产品而是包含产品的集合) 。类别和搜索结果页面不会单独加载每个产品,而是加载过滤后的产品集合,这就是您没有看到事件触发的原因。您可以考虑使用事件catalog_product_collection_load_after
,它允许您拉取集合并从观察者方法内部迭代它。
<?php
class NameSpace_Module_Model_Observer
{
public function observerMethod($observer)
{
foreach ($observer->getCollection() as $product):
...
endforeach;
}
}