19

我正在开发一个演示 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>
4

3 回答 3

56

使用时应自动将密钥添加到 URL

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

前提是在系统配置中启用了密钥。

无论如何,在这部分代码中:

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

您将带有控制器的路由作为第一个参数,其中该方法只是在等待控制器名称。

除了作为 url 的开头之外,不要使用任何其他内容adminhtml/,因为 magento 1.9.2.2 禁止其他所有内容。

于 2012-07-12T11:52:25.467 回答
13

使用以下代码获取带有密码的 url

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

请参考以下文章:Generating Backend-Admin URL With Key and Parameters in Magento

除了作为 url 的开头之外,不要使用任何其他内容adminhtml/,因为 magento 1.9.2.2 禁止其他所有内容。

于 2013-03-12T13:40:37.240 回答
10

其他解决方案对我不起作用,因为它们不包含管理面板基本 URL(默认为admin)。我必须这样做才能获得正确的 URL:

Mage::helper('adminhtml')->getUrl('adminhtml/name_of_custom_extension/name_of_controller/');
于 2015-03-21T11:55:33.337 回答