php – Magento:如何禁用或更改核心观察者方法的工作方式

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Magento:如何禁用或更改核心观察者方法的工作方式脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在想这个问题.如果Magento编写了一个核心Observer类并执行了一个你不希望它执行的功能,或者你想重写它,该怎么办?有没有办法说,不要在Observer中使用这个方法,只需使用我的.如果我为自己的Observer设置一个方法,那么它不会先执行核心功能,然后再实现我所实现的功能吗?

例如,Magento希望在Observer方法中将一些数据保存到数据库中,但我不希望它保存那些数据,我希望它保存一些其他数据,我已将列或属性添加数据库中.

关于类重写的标准警告是实现自己的功能的最后手段

可能有可能摆脱Magento全局配置的加载以剥离核心Magento Observer,但是没有支持方法来实现它.

但是,请考虑如何配置Core观察器.

<adminhtML>
    <events>
        <CMS_wysiwyg_config_PRepare>
            <observers>
                <widget_observer>
                    <class>widget/observer</class>
                    <;method>prepareWidgetsPluginConfig</method>
                </widget_observer>
            </observers>
        </cms_wysiwyg_config_prepare>
    </events>
</adminhtml>

观察者是Magento Model类.如果模型已配置了基于URI /路径的语法

<class>widget/observer</class>

而不是完整的PHP类名

<class>Mage_Widget_Model_Observer</class>

您可以为Observer Model类创建一个覆盖(就像对任何其他Model一样).如果使用了PHP类名,那你就不走运了. (如果您愿意承担维护责任,可以将本地文件放在local / Mage / Widget / Model / Observer.PHP中,但我不建议这样做)

所以,要覆盖上面的观察者,你会的

>创建一个包含Mage_Widget_Model_Observer类覆盖的自定义模块.>在您的覆盖类中,重新声明prepareWidgetsPluginConfig以执行您想要的操作或覆盖特定方法.这可能包括一个完全删除功能的空方法.

脚本宝典总结

以上是脚本宝典为你收集整理的php – Magento:如何禁用或更改核心观察者方法的工作方式全部内容,希望文章能够帮你解决php – Magento:如何禁用或更改核心观察者方法的工作方式所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。