我正在尝试创建一个从我的帮助台软件到 magento 后端销售订单页面的链接。
Magento 构建 url 如下例,其中数字代表订单 ID。
/index.php/admin/sales_order/view/order_id/12394/
但是,Order Id 不等于 Order Number,因为信用发票等都包含在计数中。
有没有其他方法可以让我使用订单号链接到订单页面。
谢谢!
最佳答案
magento 中有两种类型的订单号
- 订单增量id
- 订单 ID(主要在 magento 中使用内部)。
管理员使用订单 ID,而您发票上的数字是订单增量 ID。
解决这个问题的最快方法是创建一个自定义模块,通过订单增量 ID 查找订单 ID,并使用订单 ID 重定向到 View 页面。
在/app/etc/modules/MageIgniter_OrderRedirect.xml
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_OrderRedirect>
<active>true</active>
<codePool>local</codePool>
</MageIgniter_OrderRedirect>
</modules>
</config>
在/app/code/local/MageIgniter/OrderRedirect/controllers/RedirectOrderController.php
<?php
class MageIgniter_OrderRedirect_RedirectOrderController extends Mage_Core_Controller_Front_Action
{
public function viewAction(){
$increment_id = Mage::app()->getRequest()->getParam('id');
$order = Mage::getModel('sales/order')->loadByIncrementId($increment_id);
$order_id = $order->getId();
Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=> $order_id)));
}
}
在/app/code/local/MageIgniter/OrderRedirect/etc/config.xml中
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_OrderRedirect>
<version>0.1.0</version>
</MageIgniter_OrderRedirect>
</modules>
<frontend>
<routers>
<orderredirect>
<use>standard</use>
<args>
<module>MageIgniter_OrderRedirect</module>
<frontName>orderredirect</frontName>
</args>
</orderredirect>
</routers>
</frontend>
<global>
<helpers>
<orderredirect>
<class>MageIgniter_OrderRedirect_Helper</class>
</orderredirect>
</helpers>
</global>
</config>
网址
www.site.com/orderredirect/redirectOrder/view/id/101512486
关于url-rewriting - Magento 管理员销售 > 订单 > 商品网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752847/