作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Magento 管理面板中的模块的 URL 类似于 http://example.com/index.php/mymodule/ ...并包含带有订单的自定义网格。我想当用户单击网格行时将用户重定向到标准的“订单 View ”页面。
public function getRowUrl($row)
{
if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
return $this->getUrl('sales_order/view', array('order_id' => $row->getId()));
}
return false;
}
但是这个URL指向http://example.com/index.php/sales_order/view/ ...而不是 http://example.com/index.php/ admin/sales_order/view/... 有什么建议吗?
UPD。 config.xml:
<admin>
<routers>
<mymodule>
<use>admin</use>
<args>
<module>Foo_Mymodule</module>
<frontName>mymodule</frontName>
</args>
</mymodule>
</routers>
</admin>
最佳答案
很简单,您需要将 sales_order/view
替换为 */sales_order/view
。 *
表示使用当前路由器,在管理中为 adminhtml
。
编辑
要更详细地解释,请将其放入您的配置中,
<admin>
<routers>
<adminhtml>
<args>
<modules>
<mymodule after="Mage_Adminhtml">Foo_Mymodule_Adminhtml</mymodule>
</modules>
</args>
</adminhtml>
</routers>
</admin>
现在值*/mymodule/index
将生成一个URLhttp://example.com/index.php/admin/mymodule/index
,该URL又将加载文件 Foo/Mymodule/controllers/Adminhtml/MymoduleController.php
并尝试查找方法 Foo_Mymodule_Adminhtml_MymoduleController::indexAction()
。如果该方法存在,则运行该方法,否则管理路由器接管并显示 404 或重定向到仪表板。
关于magento - 如何在 Magento 中使用 getUrl() 引用另一个模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7305544/
我是一名优秀的程序员,十分优秀!