2013-07-30 120 views
5

,我需要选择所有产品,但目前我的代码是:的Prestashop所有产品

$products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10),NULL,NULL,false,true,true /*Random*/, ($nb ? $nb : 10)); 

我怎样才能重塑这个使产品不依赖于一个$category。有getProducts()函数是不是$category的孩子?

回答

7

是的,在产品类别中有一个函数getProducts,它可以让你在你店里的所有产品。您可以拨打下面这个函数:

$productObj = new Product(); 
$products = $productObj -> getProducts($id_lang, 0, 0, 'id_product', 'DESC'); 

第一个参数是你的网站电流id的语言,二是开始,用于分页的目的,这是我们一直为0。第三个参数是限制,这限制数量产品取回。我们也保持0,所以没有限制条款适用。第四是为了排序,第五是排序方式,你可以随时保留。

注意:此代码没有经过测试,它只是给你想法。您需要根据您的需求和您使用此代码的位置调整参数。

谢谢

+0

$ productObj =新产品();这部分代码不起作用 –

+0

对不起,这是一个类型错误。现在检查。另外,正如我所提到的,你必须解决这个问题,并且你可能会得到一个错误信息,说明它为什么不起作用。你应该自己修复它的兄弟:)。 –

+4

Product :: getProducts($ id_lang,0,0,'id_product','DESC'); –

2

请检查功能描述类/ Product.php:

/** 
* Get all available products 
* 
* @param integer $id_lang Language id 
* @param integer $start Start number 
* @param integer $limit Number of products to return 
* @param string $order_by Field for ordering 
* @param string $order_way Way for ordering (ASC or DESC) 
* @return array Products details 
*/ 
public static function getProducts($id_lang, $start, $limit, $order_by, $order_way, $id_category = false, 
    $only_active = false, Context $context = null) {...} 

问候