首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCart XML feed -仅显示特定类别的产品

OpenCart XML feed -仅显示特定类别的产品
EN

Stack Overflow用户
提问于 2013-04-23 06:21:25
回答 1查看 2.6K关注 0票数 1

几天后,我放弃了这一点--我想不通。

这是我的OpenCart XML提要代码的相关部分:

代码:

代码语言:javascript
复制
     $this->load->model('catalog/category');

     $this->load->model('catalog/product');

     $this->load->model('tool/image');

     $products = $this->model_catalog_product->getProducts();

     foreach ($products as $product) {
        if ($product['description']) {
           $output .= '<PRODUCT>';
           $output .= '<NAME>' . $product['name'] . '</NAME>';
           $output .= '<DESCRIPTION>' . $product['description'] . '</DESCRIPTION>';
           $output .= '</PRODUCT>';

我希望能够只显示某些类别的产品,例如通过category_id

假设我想显示类别(id) 12中的产品,应该做哪些更改?

我使用的是OpenCart 1.5.1.3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-23 13:53:37

如果查看getProducts()函数,您会发现它接受array作为参数。您可以向其传递过滤参数,并获取特定类别、厂商等的产品。参数包括:

代码语言:javascript
复制
filter_category_id
filter_sub_category
filter_filter
filter_name
filter_tag
filter_description
filter_manufacturer_id

编辑:基于注释1:示例

创建一个您想要作为参数传递的数组,例如(获取类别id为10的所有产品及其子类别)

代码语言:javascript
复制
$data = array(
    'filter_category_id' => '10',
    'filter_sub_category' => 'true'
);

然后调用

代码语言:javascript
复制
getProducts($data);

或者以内联方式执行

代码语言:javascript
复制
getProducts(array('filter_category_id' => '10'));

如果您需要多个类别,请单独获取它们,然后加入它们:

代码语言:javascript
复制
$set1 = $this->model_catalog_product->getProducts(array('filter_category_id' => '10'));
$set2 = $this->model_catalog_product->getProducts(array('filter_category_id' => '11'));
$products = $set1 + $set2;
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16157727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档