首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从自己的模块覆盖magento控制器动作?

如何从自己的模块覆盖magento控制器动作?
EN

Stack Overflow用户
提问于 2018-07-27 19:38:43
回答 1查看 278关注 0票数 0

我试图用我自己的"app\code\core\Mage\Newsletter\controllers\ManageController.php“覆盖indexAction函数。

我将控制器复制到app\code\local\Fekete\Newsletter2Go\controllers\ManageController.php,只允许函数indexAction在那里。

代码语言:javascript
复制
<?php

require_once 'Mage/Newsletter/controllers/ManageController.php';

class Fekete_Newsletter2Go_ManageController extends Mage_Newsletter_ManageController
{
    public function indexAction()
    {
        exit("test");
    }
}

然后,我在app\code\local\Fekete\Newsletter2Go\etc\config.xml中的<config></config>标记中添加了以下代码:

代码语言:javascript
复制
<frontend>
    <routers>
        <newsletter>
            <args>
                <modules>
                    <Fekete_Newsletter2Go before="Mage_Newsletter">
                        Fekete_Newsletter2Go
                    </Fekete_Newsletter2Go>
                </modules>
            </args>
        </newsletter>
    </routers>
</frontend>

但是,如果我去http://example.com/newsletter/manage/,那么没有什么改变,我的覆盖没有使用。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 13:05:01

我找到了问题的原因。我不得不改变这个:

代码语言:javascript
复制
<Fekete_Newsletter2Go before="Mage_Newsletter">
    Fekete_Newsletter2Go
</Fekete_Newsletter2Go>

对此:

代码语言:javascript
复制
<Fekete_Newsletter2Go before="Mage_Newsletter">Fekete_Newsletter2Go</Fekete_Newsletter2Go>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51564514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档