【问题标题】:Is it better to override the core module or create an observer in Magento?覆盖核心模块或在 Magento 中创建观察者会更好吗?
【发布时间】:2013-09-07 16:33:27
【问题描述】:

我正在尝试自定义 Magento 中的审核模块。

目标是

1. 将一些社交小部件,如facebook like、twitter、google plus、pinterest 等放在评论中。所以客户可以在他们的社交媒体账户上分享他们的评论。

2.过滤掉评论中不恰当的词。

3.自动批准评论。

覆盖核心审查模块还是在magento中创建观察者更好?

【问题讨论】:

    标签: magento review


    【解决方案1】:

    最好有一个观察者(当然,如果可能的话)。这样,您就有更高的机会在未来的升级中进行所有工作。它还降低了扩展冲突的可能性。这是在 Magento 中尝试更改某些内容时应牢记的顺序。

    1. 在事件中创建观察者
    2. 重写核心类
    3. 复制local代码池中的核心类
    4. 编辑核心文件 - 是的......永远不要这样做

    【讨论】:

    • 谢谢。您认为创建事件观察者可以实现上述目标吗?
    • 我想是的。 “社交媒体”链接可以通过布局更新添加,为了过滤“淘气”词和自动审核评论,您可以使用“review_save_before”事件
    • 谢谢。现在,这可能跑题了,但你知道如何在观察者类中获取评论对象吗?我创建了一个观察者,但我找不到在观察者中获取评论对象的方法。这是我厌倦了在观察者$observer->getEvent()->getReview()中获取评论对象
    • 我认为审查模型中存在错误(或有人忽略了某些内容)。没有为评论模型定义$_eventObject,因此默认为object。您可能想试试这个:$observer->getEvent()->getObject()$observer->getEvent()->getDataObject()
    • 非常感谢。实际上就是 $data=$observer->getEvent()-getData(); print_r($data);退出;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 2015-03-13
    • 2013-07-01
    • 2023-04-10
    相关资源
    最近更新 更多