从搜索或主页或目录页面加载产品之前或之后的magento事件

mah*_*ale 4 php events magento magento-1.x

我需要一个在产品加载之前/之后调用的magento事件/观察者.我想通过该观察者更改/追加产品名称.

我使用了catalog_product_load_after事件,

但是当你从搜索中加载产品时它不起作用,而且它也不会调用主页上的产品,如畅销产品等.

基本上是一个函数/观察者/事件,每当产品加载到magento前端时调用它是否加载到主页或搜索页面上.

小智 9

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;
    }
}
Run Code Online (Sandbox Code Playgroud)