Je travaille sur une boutique de démonstration Magento (CE v1.7)
Je souhaite générer un lien pour une action (index) d'un contrôleur (index) du module (Mymodule), je souhaite afficher le lien dans la page d'accueil pour pouvoir accéder directement à la fonctionnalité Mymodule
comment puis-je y parvenir (sans désactiver la génération des clés)?
J'ai déjà essayé le code suivant, mais je reçois à nouveau 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 clé secrète doit être ajoutée automatiquement à l'URL lors de l'utilisation
Mage::helper("adminhtml")->getUrl("acompany_mymodule/index/index")
à condition que les clés 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");
?>
vous donnez comme premier paramètre une route avec un contrôleur, où la méthode attend juste un nom de contrôleur.
N'UTILISEZ rien d'autre que adminhtml/
comme début de l'URL, car magento 1.9.2.2 interdit tout le reste.
utilisez le code suivant pour obtenir l'url avec le code secret
Mage::helper("adminhtml")->getUrl("adminshipper/process/index");
Veuillez vous référer à l'article suivant: Génération d'une URL Backend-Admin avec clé et paramètres dans Magento .
N'UTILISEZ rien d'autre que adminhtml/
comme début de l'URL, car magento 1.9.2.2 interdit tout le reste.
Les autres solutions n'ont pas fonctionné pour moi car elles n'incluaient pas l'URL de base du panneau d'administration (admin par défaut). J'ai dû le faire comme ça pour obtenir l'URL correcte:
Mage::helper('adminhtml')->getUrl('adminhtml/name_of_custom_extension/name_of_controller/');