【问题标题】:Magento Checkout OnepageController not getting overrideMagento Checkout OnepageController 没有被覆盖
【发布时间】:2018-08-17 10:32:13
【问题描述】:

我已经从 stackoverflow 搜索并实现了许多答案,但我无法覆盖控制器。这个问题是不言自明的,但我会提供代码来展示我在做什么。也许有人可以指导我正确的方向:

这是我的directory structure

这是我在etc 文件夹中的config.xml

<?xml version="1.0"?>
<config>
<modules>
    <Zepcom_Checkout>
        <version>0.0.1</version>
    </Zepcom_Checkout>
</modules>
<frontend>
    <routers>
        <checkout>
            <args>
                <modules>
                    <Zepcom_Checkout before="Mage_Checkout">Zepcom_Checkout</Zepcom_Checkout>
                </modules>
            </args>
        </checkout>
    </routers>
</frontend>

这是我的controller

require_once 'Mage/Checkout/controllers/OnepageController.php';


class Zepcom_Checkout_OnepageController extends Mage_Checkout_OnepageController {
      public function indexAction() {
         var_dump("custom"); die;
      }
.
.  // some overriding code here
.
}

我真的被困住了,任何帮助都将不胜感激。我正在转储以验证控制器的调用,但它一直在调用Core 控制器。

【问题讨论】:

    标签: magento controller magento-1.9 checkout onepage-checkout


    【解决方案1】:

    您需要声明一个路由器“routeurfrontend”,这实际上是 Magento 用来访问您的控制器的路由。

    <?xml version="1.0"?>
    <config>
        <frontend>
            <routers>
                <zepcom_checkout>
                    <use>standard</use>
                    <args>
                        <module>Zepcom_Checkout</module>
                        <frontName>zepcom_checkout</frontName>
                    </args>
                </zepcom_checkout>
                <checkout>
                    <args>
                        <modules>
                            <Zepcom_Checkout before="Mage_Checkout">Zepcom_Checkout</Zepcom_Checkout>
                        </modules>
                    </args>
                </checkout>
            </routers>
        </frontend>
    </config>
    

    【讨论】:

    • 谢谢,但我不想使用我的自定义路由。我想通过使用默认的checkout/onepage/ 路由来简单地覆盖 Onepagecontroller
    【解决方案2】:

    您的 config.xml 中缺少 &lt;/config&gt; 结束标记

    <?xml version="1.0"?>
    <config>
        <modules>
            <Zepcom_Checkout>
                <version>0.0.1</version>
            </Zepcom_Checkout>
        </modules>
        <frontend>
            <routers>
                <checkout>
                    <args>
                        <modules>
                            <Zepcom_Checkout before="Mage_Checkout">Zepcom_Checkout</Zepcom_Checkout>
                        </modules>
                    </args>
                </checkout>
            </routers>
        </frontend>
    </config>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-30
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-25
      相关资源
      最近更新 更多