我正在开发一个演示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");
请参阅以下文章:在Magento中生成带有密钥和参数的后端管理URL。
不要使用adminhtml/
以外的任何其他内容作为url的开头,因为magento 1.9.2.2禁止使用其他内容。
其他解决方案不适用于我,因为它们不包括管理面板的基本URL(默认情况下为Admin)。我必须这样做才能得到正确的网址:
Mage::helper('adminhtml')->getUrl('adminhtml/name_of_custom_extension/name_of_controller/');