2013-02-24 2 views
1

Je surcharge le ProductController d'administration à l'aide à la réécriture dans mon module config.xml:Magento: comment obtenir une variable dans config.xml

<from><[CDATA [#^admin/catalog_product/#]]> </ from> 
<to>/mymodule/catalog_produc/</to> 

il fonctionne bien sur l'environnement de développement, mais il ne fonctionne pas production, il ne peut pas trouver mon contrôleur.

Après enquête, je trouve que le chemin d'admin dans local.xml n'est pas le même sur deux environnements: environnement de production

<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <frontName> <! [CDATA [admin-prod]]> </ frontName> 
      </ args> 
     </ adminhtml> 
    </ routers> 
</ admin> 

ambience développement

<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <frontName> <! [CDATA [*admin-prod*]]> </ frontName> 
      </ args> 
     </ adminhtml> 
    </ routers> 
</ admin> 

Ma question est de savoir comment obtenir le frontname dynamiquement dans mon module config.xml pour définir correctement et dynamiquement la réécriture comme suit: < [CDATA [#^admin-pro d/catalogue_produit/#]]> ??????

Répondre

0

Si vous n'utilisez pas une ancienne version de Magento (plus ancienne que la version 1.3), vous n'avez plus besoin de ce type de réécriture de contrôleur basé sur regex. Utilisez ceci:

config.xml

<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <modules> 
        <mymodule before="Mage_Adminhtml">MyNamespace_MyModule</mymodule> 
       </modules> 
      </args> 
     </adminhtml> 
    </routers> 
</admin> 

maintenant Magento cherchera MyNamespace_MyModule_Catalog_ProductController avant Mage_Adminhtml_Catalog_ProductController et de l'utiliser au lieu si elle a été trouvée, quel que soit le nom avant de la route.

Questions connexes