2

こんにちは、特定のカテゴリのサブカテゴリのカテゴリ ID を持っているので、その特定の親カテゴリのすべてのサブカテゴリのすべての製品を取得したいと考えています。その製品を入手する方法。

Suppose I have parent category 4 and it's having 5,6,7,8,9,10,11 as a child category so i Then I want all the products of 5,6,7,8,9,10,11's category using single query.
4

2 に答える 2

0

製品コレクションを catalog_category_product_index テーブルに結合する必要があります。Mage_Catalog_Model_Resource_Product_Collection、メソッド _applyProductLimitations() を参照してください。

準備ができているソリューションは次のようになります (単なるアイデアであり、いくつかの変更またはフィルターが必要になる場合があります)。

$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection
    ->getSelect()->join(
            array('cat_index' => $this->getTable('catalog/category_product_index')),
            'cat_index.product_id=e.entity_id',
            array()
        )
    ->where('cat_index.category_id in (?)', $categoryIds);
于 2013-11-11T14:32:00.127 に答える
0
$categories = Mage::getModel('catalog/category')->load('4')->getChildrenCategories();

foreach ($categories as $category) {
    $collection = $category->getProductCollection();
    foreach ($collection as $product) {
        $result[] = $product;
    }
}

これは、サブカテゴリの ID がわからない場合でも機能するはずです。

于 2013-11-11T13:10:08.787 に答える