Magento: génération d'url pour une action de backend (avec key)

Je travaille sur un magasin démo Magento (CE v1.7)

Je veux générer un lien pour une action (index) d'un controller (index) du module (Mymodule), je souhaite afficher le lien dans la page d'accueil afin que je puisse accéder directement à la fonctionnalité Mymodule

Comment puis-je atteindre cet objective (sans désactiver la génération des keys)?

J'ai déjà essayé le code suivant, mais je suis redéployé sur le tableau de bord:

<?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> 

Une key secrète doit être automatiquement ajoutée à l'URL lors de l'utilisation

 Mage::helper("adminhtml")->getUrl("acompany_mymodule/index/index") 

à condition que les keys secrètes soient activées dans la configuration du système.

Quoi qu'il en soit, dans cette partie de votre code:

 <?php $key = Mage::getSingleton('adminhtml/url') ->getSecretKey("acompany_mymodule/index/","index"); ?> <? php <?php $key = Mage::getSingleton('adminhtml/url') ->getSecretKey("acompany_mymodule/index/","index"); ?> $ key = Mage :: getSingleton ('adminhtml / url') <?php $key = Mage::getSingleton('adminhtml/url') ->getSecretKey("acompany_mymodule/index/","index"); ?> -> getSecretKey ("accompagnement_mymodule / index /", "index"); <?php $key = Mage::getSingleton('adminhtml/url') ->getSecretKey("acompany_mymodule/index/","index"); ?> 

vous procédez comme premier paramètre à une route avec un controller, où la méthode attend un nom de controller.

N'utilisez PAS autre chose que adminhtml/ comme début de l'url, car magento 1.9.2.2 interdit tout le rest.

Utilisez le code suivant pour get une URL avec un code secret

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

Reportez-vous à l'article suivant: Génération de l'URL d'administration Backend-Admin avec key et parameters dans Magento .

N'utilisez PAS autre chose que adminhtml/ comme début de l'url, car magento 1.9.2.2 interdit tout le rest.

Les autres solutions ne fonctionnaient pas pour moi car elles n'incluaient pas l'URL de base du Admin Panel ( admin par défaut). Je devais le faire comme ça pour get l'URL correcte:

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