Mage::getURL возвращает URL-адрес администратора вместо URL-адреса интерфейса
Я создал расширение, которое использовало интерфейс, а также конец администратора.
Мой код конфигурации приведен ниже.
<frontend>
<routers>
<testimonial>
<use>standard</use>
<args>
<module>Magentohelper_Testimonial</module>
<frontName>testimonial</frontName>
</args>
</testimonial>
</routers>
<layout>
<updates>
<testimonial>
<file>testimonial.xml</file>
</testimonial>
</updates>
</layout>
</frontend>
<admin>
<routers>
<testimonial>
<use>admin</use>
<args>
<module>Magentohelper_Testimonial</module>
<frontName>testimonial_admin</frontName>
</args>
</testimonial>
</routers>
</admin>
Когда я звоню
Mage::getUrl('testimonial/index/check/');из моего файла phtml Он возвращает URL-адрес администратора, который
testimonial_admin/index/check/
Из вики magento я получил инструкцию по созданию расширения, в которой говорится следующее
![magento wiki module creation](/images/content/34145/b3d3fab6b5d6ee130cf18a49bd27fa7f.png)
Я предполагаю, что маршрутизатор сначала соответствует URL-адресу администратора.
Как я могу получить URL-адрес моего интерфейса, используя функцию
Mage::getUrl
.?
4
1 answers
Проблема в том, что и маршрутизатор администратора, и интерфейсные маршрутизаторы имеют один и тот же узел. Даже если у них разные frontNames
. Если вы обновите свой XML-файл администратора следующим образом:
<admin>
<routers>
<testimonial_admin>
<use>admin</use>
<args>
<module>Magentohelper_Testimonial</module>
<frontName>testimonial_admin</frontName>
</args>
</testimonial_admin>
</routers>
</admin>
И затем, когда вы позвоните Mage::getUrl('testimonial/index/check/');
, вы получите URL-адрес интерфейса, а Mage::getUrl('testimonial_admin/index/check/');
предоставит вам URL-адреса администратора.
8
Author: David Manners, 2014-08-30 12:46:16