是否有一个事件可以创建一个观察者,因为加载产品要么使用 getModel 还是通过收藏?

我拥有的确切用例是我有一个自定义产品属性,但是为了返回正确的结果,需要进一步的逻辑,这是基于其他因素的?然后,我计划在加载后计算此逻辑并将其存储在另一个成员中。如果有人有替代方案,我也会感谢此建议。

有帮助吗?

解决方案

您不需要观察者就可以做到这一点。您可以使用属性 backend_model 处理您的逻辑。

如果您用属性指定后端_model,然后扩展 Mage_Eav_Model_Entity_Attribute_Backend_Abstract 在您的后端模型类中的课程您可以使用 afterLoad, beforeSave, afterSave, beforeDelete 或者 afterDelete 执行自己的逻辑的方法。

使用 backend_model 是实施这种逻辑的正确方法,是本机洋红色属性在其具有相似要求的地方的方式。

其他提示

可悲的是,看起来您可能必须在这里使用两个:(

产品: catalog_product_load_after
收藏: catalog_product_collection_load_after

收集事件为您提供一个“集合”对象。您可以循环浏览此问题,并在产品级别上进行更改。如果您将代码移至助手或使用相同的助手 Observer.php 对于这两个事件,您应该能够限制重复代码的数量。

尝试

<catalog_product_load_after>
     <observers>
      ...

https://stackoverflow.com/questions/15763829/magento-load-product-event-observer

许可以下: CC-BY-SA归因
scroll top