Prestashop所有产品

时间:2013-07-30 16:41:08

标签: prestashop product

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

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

我如何重塑这一点,以便产品不依赖于$category。是否getProducts()函数不是$category的孩子?

3 个答案:

答案 0 :(得分:9)

是的,在产品类中有一个功能getProducts,它可以为您提供商店中的所有产品。你可以按如下方式调用该函数:

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

第一个参数是您的网站当前id语言,第二个是开始,用于分页目的,我们保留0.第三个参数是限制,它限制了要获取的产品数量。我们也将它保持为0,因此不应用限制条款。第四个是订购方式,第五个是订购方式,您可以根据需要保留。

注意:此代码未经过测试,只是为了给您提供想法。您需要根据需要和使用此代码的位置调整参数。

谢谢

答案 1 :(得分: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) {...}

此致

答案 2 :(得分:-1)

$idLang=(int)Context::getContext()->language->id;
$start=0;
$limit=100;
$orderBy='id_product';
$orderWay='DESC';
$idCategory = false; 
$onlyActive =true;
$context = null;

$allProducts=Product::getProducts($idLang, $start, $limit, $orderBy,$orderWay, $idCategory, $onlyActive, $context );