2012-02-19 15 views
8

こんにちは私はcreatePostActionメソッドを拡張できるようにMage_Customer_AccountControllerをオーバーライドしようとしています。私の人生にとって私はこれをやっているようには思えません。それは404ページを投げます。これは、ファイルの正しいパスではなく、orignalにデフォルトしていることを示唆しています。Magento:顧客アカウントコントローラをオーバーライド

... 
<frontend> 
     <routers> 
      <customer> 
       <args> 
        <modules> 
         <company_modulename before="Mage_Customer">Company_Modulename</company_modulename> 
        </modules> 
       </args> 
      </customer> 
     </routers> 
    </frontend> 
... 

をし、コントローラクラスを作成します:

<rewrite> 
     <company_modulename_account> 
      <from><![CDATA[#^/customer/account/#]]></from> 
      <to>/modulename/account</to> 
     </company_modulename_account> 
</rewrite> 

私のコントローラがここに置かれているローカル/会社/モジュール名/コントローラ/ AccountController.php

+1

あなたは絶対にそれを無効にする必要がありますか? customer_save_afterイベントをリッスンし、デカップリングされたアップグレードセーフな方法で必要な手順を実行するEvent Observerを使用する方がはるかに良い方法です。 –

答えて

24

代わりに、あなたに試すことができます
アプリ/ code/[codePool] /Company/Modulename/controllers/AccountController.php
次のコードを使用して、

require_once 'Mage/Customer/controllers/AccountController.php'; 
class Company_Modulename_AccountController extends Mage_Customer_AccountController 
{ 
    public function createPostAction(){ 
     die('Overriden'); 
    } 
} 
ここでは

はオーバーライドコントローラについての詳細情報です:
https://stackoverflow.com/a/7117076/887385

グッドラック!

+0

完璧です! – jamessy

+3

Magento 1.7の場合: Company_Modulename

+0

コメントのために@KevinHorst +1。 1.6.X C.E.に何が問題かを調査し、これを更新します。 – Haijerome

関連する問題