3

我正在尝试创建从我的帮助台软件到 magento 后端销售订单页面的链接。

Magento 将 url 构造为下面的示例,其中数字表示订单 ID。

/index.php/admin/sales_order/view/order_id/12394/ _ _

但是,订单 ID 不等于订单号,因为计数中包括信用发票等。

是否有其他方法可以让我使用订单号链接到订单页面。

谢谢!

4

1 回答 1

4

magento中有2种订单号

  1. 订单增量 ID
  2. 订单 ID(主要在 magento 中使用内部)。

管理员使用订单 ID,而发票上的数字是订单增量 ID。

解决此问题的最快方法是创建一个自定义模块,该模块通过订单增量 ID 查找订单 ID,并使用订单 ID 重定向到视图页面。

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

于 2012-12-06T21:37:12.640 回答