2012-02-19 14 views
8

Ciao Sto cercando di scavalcare Mage_Customer_AccountController, in modo che io possa estendere il metodo createPostAction. Per la vita di me non riesco a farlo, o getta una pagina 404, il che suggerisce che non è il percorso giusto per il file o che è predefinito su orignal.Magento: Override controller account cliente

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

mio regolatore si trova qui/azienda/modulename/controllori locali/AccountController.php

+1

devi assolutamente sostituirlo? È molto più utile usare un Event Observer che ascolti l'evento customer_save_after ed esegua i passaggi richiesti in modo disaccoppiato e sicuro per l'aggiornamento –

risposta

24

Invece, si può provare come:

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

E creare una classe controller:
app/codice/[codePool] /Company/Modulename/controllers/AccountController.php
con il seguente codice:

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

Ecco maggiori informazioni su comando superiore:
https://stackoverflow.com/a/7117076/887385

buona fortuna !!

+0

Perfetto, grazie! – jamessy

+3

Con Magento 1.7 funziona solo per me: Company_Modulename

+0

@KevinHorst +1 per il commento. Sono su 1.6.X C. E. indagando su quale sia il problema e aggiorneremo questo. – Haijerome

Problemi correlati