2013-02-24 5 views
1

Я перегружен администратора productController с помощью переписывания в моем модуле config.xml файле:Magento: как получить переменную в config.xml

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

он прекрасно работает на среде разработки, но он не работает производства, он не может найти мой контроллер.

После исследования я обнаружил, что путь администратора в local.xml не то же самое на двух средах: производственной среды

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

разработка окружающая среда

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

Мой вопрос заключается в том, как получить имя файла динамически в моем модуле config.xml для правильной и динамической установки перезаписи следующим образом: < [CDATA [#^admin-pro d/catalog_product/#]]> ??????

ответ

0

Если вы не используете древнюю версию Magento (старше 1.3), вам больше не понадобится перезаписывать контроллер на основе регулярных выражений. Используйте вместо этого:

config.xml

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

Теперь Magento будет искать MyNamespace_MyModule_Catalog_ProductController перед тем Mage_Adminhtml_Catalog_ProductController и использовать его вместо того, чтобы, если он был найден, независимо от переднего названия маршрута.

Смежные вопросы