gpt4 book ai didi

magento - 如何在 Magento 中使用 getUrl() 引用另一个模块?

转载 作者:行者123 更新时间:2023-12-02 16:56:13 24 4
gpt4 key购买 nike

我在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com