Подтвердить что ты не робот

Magento: генерация URL-адреса для бэкэнд-действия (с ключом)

Я работаю над демо-магазином 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>
4b9b3361

Ответ 1

При использовании

секретный ключ должен автоматически добавляться к 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 запрещает все остальное.

Ответ 2

используйте следующий код для получения url с секретным кодом

Mage::helper("adminhtml")->getUrl("adminshipper/process/index");

Пожалуйста, обратитесь к следующей статье: Создание URL-адреса Backend-Admin с ключом и параметрами в Magento.

НЕ ИСПОЛЬЗУЙТЕ что-либо еще, кроме adminhtml/, как начало URL-адреса, потому что magento 1.9.2.2 запрещает все остальное.

Ответ 3

Другие решения не работали для меня, поскольку они не включали базовый URL панели администратора (по умолчанию - admin). Я должен был сделать это так, чтобы получить правильный URL:

Mage::helper('adminhtml')->getUrl('adminhtml/name_of_custom_extension/name_of_controller/');