2012-04-19 13 views
2

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を上書きしない理由を間違えている人は誰か考えています。

ありがとうございます。

レックス

+0

を試みる 'WP/Ajaxcart /コントローラ/ OnepageController.php'に正確に突き止めますか?そうであれば、 'WP/Ajaxcart/controllers/Checkout/OnepageController.php' –

+0

Mistypeに移動しますが、まだ動作していません。私は投稿を編集する – Lexperts

答えて

2

はファイルです

<WP_Ajaxcart_Checkout before="Mage_Checkout">WP_Ajaxcart_Checkout</WP_Ajaxcart_Checkout> 
+0

それは私の問題を解決しました。どうもありがとうございました! – Lexperts

関連する問題