2014-12-12 2 views
0

Я работаю с админ-маршрутами в magento, и я столкнулся с двумя способами их выполнения, но я не уверен, что это правильный путь?Каков правильный путь для маршрута в пурпуре?

маршрутизатор 1:

<admin> 
 
     <routers> 
 
      <tradecounter> 
 
       <use>admin</use> 
 
       <args> 
 
        <module>Relentless_Tradecounter_Adminhtml</module> 
 
        <frontName>tradecounter_admin</frontName> 
 
       </args> 
 
      </tradecounter> 
 
     </routers> 
 
    </admin>

, который работает и маршрутизатор 2:

  \t <adminhtml> 
 
      \t <args> 
 
       \t <modules> 
 
        \t <tradecounter before="Mage_Adminhtml">Relentless_Tradecounter_Adminhtml</tradecounter> 
 
       \t </modules> 
 
      \t </args> 
 
     \t </adminhtml>

, который, кажется, не работает, но я вероятно, допустил ошибку в xml.

Заранее спасибо

Dave

ответ

1

Там нет неправильного способа сделать это.
Оба они отлично работают.
Но я рекомендую использовать второй подход.
Преимущества в том, что URL-адрес вашего модуля будет начинаться с admin вместо tradecounter_admin.
Это выглядит более последовательным, и если у вас есть полнофункциональная система кеша страниц (например, лак), вам не нужно устанавливать множество правил для страниц, которые теперь должны быть кешами. Просто один простой. «Если он начинается с администратора, тогда не кешируйте».

Нижняя сторона. Если у вас в 2 модулях 2 контроллера с тем же именем, вы получаете конфликт.
Но это можно легко решить, разместив контроллеры администратора в отдельной папке с именем, аналогичным модулю.

Итак, вместо Relentless/Tradecounter/controllers/Adminhtml/PageController.php у вас должно быть Relentless/Tradecounter/controllers/Adminhtml/Tradecounter/PageController.php.
Тогда ваш адрес администратора выглядит так: admin/tradecounter_page/index.

Подробнее о написании модуля see this

0

Я думаю, что первый из них будет работать для вас. Так оно и должно быть, как это:

<admin> 
    <routers> 
     <tradecounter> 
      <use>admin</use> 
      <args> 
       <module>Relentless_Tradecounter</module> 
       <frontName>tradecounter_admin</frontName> 
      </args> 
     </tradecounter> 
    </routers> 
</admin>