2

1 つのモジュールで 2 つのコントローラーを上書きしようとしています。これらは両方とも Checkout コントローラーです。- OnepageController - カートコントローラー

私のカートコントローラーは動作します。しかし、私のワンページコントローラーは上書きしません。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 に答える