2つのコントローラを1つのモジュールに上書きしようとしています。これらは両方ともCheckoutコントローラです。 - OnepageController - CartControllerCartControllerとOnepageControllerを上書きする
私のカートコントローラが動作します。しかし、私の1ページコントローラは上書きしません。 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 /コントローラ/ 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';
}
}
私はOnPageController.phpを上書きしない理由を間違えている人は誰か考えています。
ありがとうございます。
レックス
を試みる 'WP/Ajaxcart /コントローラ/ OnepageController.php'に正確に突き止めますか?そうであれば、 'WP/Ajaxcart/controllers/Checkout/OnepageController.php' –
Mistypeに移動しますが、まだ動作していません。私は投稿を編集する – Lexperts