Я работаю над демо-магазином Magento (CE v1.7)
Я хочу создать ссылку для действия (индекса) контроллера (индекса) модуля (Mymodule), я хочу отобразить ссылку на главной странице, чтобы я мог напрямую обращаться к функции Mymodule
как я могу достичь этого (без отключения генерации ключей)?
Я уже пробовал следующий код, но я возвращаюсь к панели управления:
<?php $key = Mage::getSingleton('adminhtml/url')->getSecretKey("acompany_mymodule/index/","index"); ?> <a href="<?php echo Mage::helper("adminhtml")->getUrl("acompany_mymodule/index/index/",array("key" => $key)); ?>">My action </a>
Секретный ключ должен автоматически добавляться к URL-адресу при использовании
Mage::helper("adminhtml")->getUrl("acompany_mymodule/index/index")
при условии, что секретные ключи включены в системной конфигурации.
Во всяком случае, в этой части вашего кода:
<?php $key = Mage::getSingleton('adminhtml/url') ->getSecretKey("acompany_mymodule/index/","index"); ?>
вы даете в качестве первого параметра маршрут с контроллером, где метод просто ждет имени контроллера.
НЕ ИСПОЛЬЗУЙТЕ ничего, кроме adminhtml/
как начало URL-адреса, потому что magento 1.9.2.2 запрещает все остальное.
используйте следующий код для получения url с секретным кодом
Mage::helper("adminhtml")->getUrl("adminshipper/process/index");
Пожалуйста, обратитесь к следующей статье: Создание URL-адреса Backend-Admin с ключом и параметрами в Magento .
НЕ ИСПОЛЬЗУЙТЕ ничего, кроме adminhtml/
как начало URL-адреса, потому что magento 1.9.2.2 запрещает все остальное.
Другие решения не работали для меня, так как они не включали базовый URL панели администратора (по умолчанию – admin ). Я должен был сделать это так, чтобы получить правильный URL:
Mage::helper('adminhtml')->getUrl('adminhtml/name_of_custom_extension/name_of_controller/');