【发布时间】:2014-07-29 21:25:07
【问题描述】:
我为 OpenCart 创建了一个自定义提要。
我正在尝试从 OpenCart 1.54 获取订单详细信息列表,但是,我找不到任何 JSON。如果查询失败,有没有办法返回错误消息?
这里是访问的 URL:
/index.php?route=feed/api&func=getOrderProducts&orderid=1&email=xyz
我的插件文件在这里:
http://support.cloudcartconnector.com/hc/en-us/articles/202592798-OpenCart
在我的测试站点上,这工作正常:
public function getOrderProducts($orderid) {
$query = $this->db->query("SELECT op.*, pr.sku, pr.quantity as stock FROM `" . DB_PREFIX . "order_product` op INNER JOIN `product` pr on op.product_id = pr.product_id WHERE op.order_id = '" . $this->db->escape($orderid) . "'");
return $query->rows;
}
我的数据库中没有订单前缀。回复如下:
[{"order_product_id":"1","order_id":"1","product_id":"43","name":"MacBook","model":"Product 16","quantity":"1","price":"500.0000","total":"500.0000","tax":"89.5000","reward":"600","sku":"macproduct1","stock":"927"}]
在几个实时站点上,代码失败,我收到一个空白页。这是路线本身:
// example function - getOrders from the database
private function getOrderProducts() {
if($this->request->get['email'] != "info@mysite.com")
{
return "INVALID EMAIL";
}
$this->load->model('feed/api');
return $this->model_feed_api->getOrderProducts($this->request->get['orderid']);
}
我的 getOrders 代码运行良好:
public function getOrders($beginDate, $endDate) {
$query = $this->db->query("select o.*, os.* from `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_status os ON (o.order_status_id = os.order_status_id) where o.Date_Added >= $beginDate AND o.Date_Added <= $endDate");
return $query->rows;
}
getOrderProducts 的路由确实有效。如果我输入了错误的电子邮件,它会返回 INVALID EMAIL。有没有办法返回异常消息?
【问题讨论】: