Magento链接到管理区域-编辑客户配置文件

Magento链接到管理区域-编辑客户配置文件,magento,adminhtml,Magento,Adminhtml,在Magento中,当尝试从前端生成链接以编辑客户时,我生成的链接总是将我重定向回管理区域的仪表板,即使它看起来正确 我在Magento的多个版本(以及社区和企业版)上试用过,效果相同 $adminUrl = Mage::helper('adminhtml')->getUrl('adminhtml/customer/edit/index',array('id'=>7)); $adminUrl2 = Mage::helper("adminhtml")->getUrl("admin

在Magento中,当尝试从前端生成链接以编辑客户时,我生成的链接总是将我重定向回管理区域的仪表板,即使它看起来正确

我在Magento的多个版本(以及社区和企业版)上试用过,效果相同

$adminUrl = Mage::helper('adminhtml')->getUrl('adminhtml/customer/edit/index',array('id'=>7));
$adminUrl2 = Mage::helper("adminhtml")->getUrl("adminhtml/customer/edit/id/".'7'."/");           
这将生成一个url,例如:/admin/customer/edit/id/7/key/f126e6cd7af2eb8cd068ff80fb512d4a/

这似乎是正确的,但单击它会将我发送回管理区域的仪表板

但是,以下代码起作用,不会将我重定向到仪表板:

$adminUrl = Mage::helper('adminhtml')->getUrl('adminhtml/catalog_product/edit', array('id' => 157990));  

如果我手动复制url减去键,并将该键替换为通过管理区域导航生成的键(即,通过从浏览器中的导航栏复制工作键),它会工作-因此我认为它一定与此相关。

从前端生成管理url时,Magento使用前端会话中的表单键。然后,当您单击该链接时,Magento会重新生成管理员URL键以与链接中的键进行比较,只是这次它使用了adminhtml表单键。由于表单键不匹配,哈希URL键不匹配,链接将无法工作。此时,Magento的行为是将您踢回管理仪表板(或管理员登录页面)

任何从Mage_Adminhtml_controller_Action继承的控制器都可以通过将某些操作添加到$\u publicActions数组中来允许它们不需要管理员URL键

例如,添加到Mage_Adminhtml_CustomerController中

public $_publicActions = array('edit');