Magento 从订单id、电子邮件和客户获取订单状态';她姓什么
我目前正在寻找一种方法,可以根据Magento 从订单id、电子邮件和客户获取订单状态';她姓什么,magento,Magento,我目前正在寻找一种方法,可以根据订单id、客户电子邮件和客户姓氏获取订单状态 到目前为止,我已经编写了这段代码 public function orderHistoryAction(){ $req = $this->getRequest(); $oid = $req->getParam('oid', ''); $lnm = $req->getParam('lnm', ''); $eml = $req->getParam('eml', '')
订单id
、客户电子邮件
和客户姓氏
获取订单状态
到目前为止,我已经编写了这段代码
public function orderHistoryAction(){
$req = $this->getRequest();
$oid = $req->getParam('oid', '');
$lnm = $req->getParam('lnm', '');
$eml = $req->getParam('eml', '');
$order = Mage::getModel('sales/order')->loadByIncrementId($oid);
if ($order->getId()) {
if ((strcasecmp($lnm, $order->getCustomerLastname()) == 0) && (strcasecmp($eml, $order->getCustomerEmail()) == 0)) {
echo $order->getStatusLabel();
} else {
echo 'invalid';
}
} else {
echo 'invalid';
}
}
对客户和客人都很好。但在我看来,这不是正确的方法。我应该用类似于写在或。如果有人能纠正我的错误?如果您想使用集合,您需要的代码如下所示:
$order_collection = Mage::getModel('sales/order')->getCollection()
->addFieldToFilter('increment_id', array('eq' => $oid))
->addFieldToFilter('customer_lastname', array('eq' => $lnm))
->addFieldToFilter('customer_email', array('eq' => $eml));
if ($order_collection->getSize() > 0) {
$order = $order_collection->getFirstItem();
....
} else {
....
}
您可以在这里找到另一个答案:显然,您可以创建一个新模块,从订单id、电子邮件和客户姓氏获取订单状态。在您的模块中使用观察者进行同样的操作。在我的模块中存储信息并显示状态不是一种开销吗?