1

是否可以通过指定产品 ID 创建自定义产品列表?

例如,如果我想显示两个产品的产品列表,

我可以做类似的事情website.com/category.php?id_product=1&id_product=2吗?

显然上述方法不起作用,但我相信有一种简单的方法可以实现这一目标。

4

2 回答 2

1

是的,这是可能的,但您必须为此做一些工作,因为默认情况下 prestashop 仅按类别列出产品,以及标签、制造商等其他选项。根据您的要求,您可以按如下方式进行:

1) 假设您想在类别页面上显示产品列表,其 id 在 URL 中传递,例如 website.php/category.php?id_category=10&id_list=1,5,8,9

2) id_list 是我们要为 id_category 10 显示的 id 列表。现在在您的 category.php 控制器文件中,获取该 id_list 并将其传递给 getProducts 成员函数。

3)在getProducts memberFunction id_list 应该是一个选项参数,因为我们不想影响正常操作。现在如果 id_list 不为空,那么您必须对产品检索数据库查询进行调整并放置类似的内容

   id_product IN (your list of ids passed in)

这样,只有那些提供了 id 的产品才会被获取和返回。

注意:这只是一个想法,没有实施或测试。它只是为您提供一种方式或路径

谢谢

于 2013-03-23T09:08:45.360 回答
0

少量产品的替代解决方案

产品类构造函数可以通过 ID 为您获取产品。

$myProduct = new Product( MY_PRODUCT_ID );

所以你可以做类似的事情

$my_ids = array(
  2,
  54,
  ...etc
);

$myProducts = array();

foreach( $my_ids as $id_product )
    $myProducts[] = new Product($id_product);

警告:对产品类构造函数的每次调用都可以调用数据库 - 此解决方案仅适用于少量产品...

适用于PS1.6,无需核心编辑...

于 2015-09-15T14:43:20.930 回答