2012-02-19 3 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> 

내 컨트롤러가

+1

절대적으로 무시해야합니까? customer_save_after 이벤트를 청취하고 분리 된 업그레이드 안전 방식으로 필요한 단계를 수행하는 Event Observer를 사용하는 것이 훨씬 더 좋습니다. –

답변

24

대신에/여기 AccountController.php을 지역/기업/모듈 이름/컨트롤러에 위치하고 있으며,이 같은 시도 할 수
응용 프로그램/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