prestashop为了确认我想得到所有产品,但我只得到一个

时间:2015-11-27 08:16:43

标签: php prestashop smarty3

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

我使用此代码:

$products = $order->getProducts();

但是当我在tpl文件中使用它时,即使有多个产品,我也只能得到一个产品 这是聪明的代码:

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

1 个答案:

答案 0 :(得分:0)

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

DECLARE @param VARCHAR(MAX) = '0014,0020,0064'

SELECT DISTINCT t.*
FROM tbl t
CROSS APPLY dbo.Split(t.[VALUES], ';') s
WHERE
    s.Item IN(SELECT Item FROM dbo.Split(@param, ','))

首先,你必须找到id_cart。您可以通过cookie获取它,如

        $new_cart_id = $params['objOrder']->id_cart;
        $this->context->cart = new Cart($new_cart_id);
        $cart_products = $this->context->cart->getProducts();

现在你必须通过编写如下代码来制作该购物车的对象:

$this->context->cookie->id_cart;

当您制作购物车对象时,您可以通过编写如下代码来获取所有订购的产品:

        $new_cart_id = $params['objOrder']->id_cart;
        $this->context->cart = new Cart($new_cart_id);

我希望这会对你有所帮助。