1

数日後、私はこれをあきらめました-私はそれを理解できませんでした.

これは、私の OpenCart XML フィード コードの関連部分です。

コード:

     $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 を使用しています

4

1 に答える 1

0

関数を見ると、引数としてgetProducts()受け入れることがわかります。arrayフィルター パラメーターを渡して、特定のカテゴリ、メーカーなどの製品を取得できます。パラメーターは次のとおりです。

filter_category_id
filter_sub_category
filter_filter
filter_name
filter_tag
filter_description
filter_manufacturer_id

[編集: コメント 1 に基づく: 例]

たとえば、引数として渡したい配列を作成します (カテゴリ ID 10 とそのサブカテゴリからすべての製品を取得するため)。

$data = array(
    'filter_category_id' => '10',
    'filter_sub_category' => 'true'
);

それから電話する

getProducts($data);

またはインラインで行う

getProducts(array('filter_category_id' => '10'));

複数のカテゴリが必要な場合は、個別に取得してから結合してください。

$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;
...
于 2013-04-23T05:53:36.580 に答える