2

我尝试在一个模块中覆盖 2 个控制器。这些都是 Checkout 控制器。- OnepageController - CartController

我的购物车控制器工作正常。但我的单页控制器不会覆盖。难道你不能覆盖2个文件吗?

我的文件:

WP/Ajaxcart/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
       <WP_Ajaxcart>
           <version>0.1.0</version>
       </WP_Ajaxcart>
    </modules>
    <frontend>
        <routers>
            <checkout>
                <use>standard</use>
                <args>
                    <modules>
                        <WP_Ajaxcart before="Mage_Checkout">WP_Ajaxcart</WP_Ajaxcart>
                    </modules>
                </args>
            </checkout>
        </routers>
    </frontend>
</config>

WP/Ajaxcart/controllers/OnepageController.php

<?php

require_once "Mage/Checkout/controllers/OnepageController.php";
class WP_Ajaxcart_Checkout_OnepageController extends Mage_Checkout_OnepageController
{

    public function successAction()
    {

        $session = $this->getOnepage()->getCheckout();

        if (!$session->getLastSuccessQuoteId()) {
           $this->_redirect('checkout/cart');
            return;
        }

        $lastQuoteId = $session->getLastQuoteId();
        $lastOrderId = $session->getLastOrderId();
        $lastRecurringProfiles = $session->getLastRecurringProfileIds();
        if (!$lastQuoteId || (!$lastOrderId && empty($lastRecurringProfiles))) {
            $this->_redirect('checkout/cart');
            return;
        }
        echo 'Do something else';
        //$session->clear();
        $this->loadLayout();
        $this->_initLayoutMessages('checkout/session');
        Mage::dispatchEvent('checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId)));
        $this->renderLayout();
    }

}

WP/Ajaxcart/controllers/CartController.php

<?php

require_once "Mage/Checkout/controllers/CartController.php";
class WP_Ajaxcart_Checkout_CartController extends Mage_Checkout_CartController
{

    public function addAction()
    {
        echo 'test';
    }

}

我有人知道做错了什么,为什么它没有覆盖 OnepageController.php。

谢谢你。

莱克斯

4

1 回答 1

2

尝试

<WP_Ajaxcart_Checkout before="Mage_Checkout">WP_Ajaxcart_Checkout</WP_Ajaxcart_Checkout>
于 2012-04-19T16:02:14.827 回答