我正在将购物车 ID 发布到我的模块方法。由此我显然可以使用该 id 创建 Cart 对象。但是我如何访问与 Cart 对象对应的 Order 对象呢?
我试过类似的东西;
$cart = new Cart($_POST['id']);
var_dump($this->context->order);
还尝试对订单执行某种 where() 查询(其中 id_cart 等于我的 Cart 对象中的 id);
$order = new Order('id_cart', $cart->id);
这可能真的很明显,但我只是不太了解 Prestashop。
我尝试这样做的原因是,如果付款超时,我会更改订单的状态。
我赢了;
$order = Order::getOrderByCartId((int)($cart->id));
试试
$order = Order::getByCartId($cart->id)
我正在传递
$cart->id
以在我的模块中运行,然后我将它传递给 .tpl,在那里我可以访问它。
但是在控制器的功能中我无法获得订单对象
任一:
$order = Order::getByCartId($cart->id)
或
$order = Order::getOrderByCartId((int)($cart->id));
没有结果。 我有
public function displayMyHooKName($params) {
$id_cart = $params['id_cart'];
/* $id_cart has value of cart id - I have checked */
}
我试过:
$cart = new Cart($params['id_cart']);
$order = Order::getOrderByCartId((int)($cart->id));
/*or*/
$order = Order::getByCartId($cart->id);
那么如何访问
php$order
知道$cart->id
?
好
$order = Order::getOrderByCartId((int)($cart->id));
回馈
#order_id
所以我做了:
$cart = new Cart($params['id_cart']);
$orderID = Order::getOrderByCartId((int)($cart->id));
$order = new Order($orderID);
$products = $order->getProducts();
和我的
$products
是空的
已解决
好的,我知道了。上面的代码是 100% 正确的,它可以正常工作。
我很聪明地尝试从订单对象获取数据——在下订单之前:)在 order-address.tpl 上调用我的钩子。
所以产品数据在
$cart->getProducts();
不过也许我的案子会对某人有所帮助。
@Mike Nguyen 帖子应该被标记为答案,Mike 说得有道理。