Php 在订单确认前,我想得到所有的产品,但我只得到一个

Php 在订单确认前,我想得到所有的产品,但我只得到一个,php,prestashop,smarty3,Php,Prestashop,Smarty3,在prestashops产品确认页面中,我想获取订单的所有产品,但它只显示一个(第一个产品) 我使用以下代码: $products = $order->getProducts(); 但当我在tpl文件中使用它时,即使有多个产品,我也只能得到一个产品 以下是smarty代码: {foreach from=$products item=product} {$product.product_name} {$product.product_quantity} {/foreach} 确认订单后,

在prestashops产品确认页面中,我想获取订单的所有产品,但它只显示一个(第一个产品)

我使用以下代码:

$products = $order->getProducts();
但当我在tpl文件中使用它时,即使有多个产品,我也只能得到一个产品 以下是smarty代码:

{foreach from=$products item=product}
{$product.product_name}
{$product.product_quantity}
{/foreach}

确认订单后,应使用以下代码

        $new_cart_id = $params['objOrder']->id_cart;
        $this->context->cart = new Cart($new_cart_id);
        $cart_products = $this->context->cart->getProducts();
首先,你必须找到id_cart。你可以通过饼干得到它,就像

$this->context->cookie->id_cart;
现在,您必须通过编写如下代码来创建该购物车的对象:

        $new_cart_id = $params['objOrder']->id_cart;
        $this->context->cart = new Cart($new_cart_id);
$cart_products = $this->context->cart->getProducts();
当您创建购物车对象时,您可以通过编写如下代码获得所有订购的产品:

        $new_cart_id = $params['objOrder']->id_cart;
        $this->context->cart = new Cart($new_cart_id);
$cart_products = $this->context->cart->getProducts();
我希望这对你有帮助