「ナビゲーションメニューに含める」がnoに設定されているすべてのサブカテゴリのリストを取得する方法


8

ナビゲーションメニューに含まれていないすべてのサブカテゴリを取得しようとしましたが、それらはアクティブであり、リストページの現在のカテゴリです。

$children = Mage::getModel('catalog/category')->getCategories(10); //10 current category id

このカテゴリコレクションでも、ナビゲーションメニューに含まれるサブカテゴリのみが返されます

ナビゲーションメニューに含まれていないカテゴリを取得する方法は?

回答:


11

これを試して:

$collection = Mage::getResourceModel('catalog/category_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('is_active', 1) //only active categories
    ->addAttributeToFilter('include_in_menu', 0) //only categories not included in menu
    ->addAttributeToFilter('parent_id', 10)//get only subcategories of the category with id 10
    ->addAttributeToSort('position')//sort by position
;

foreach ($collection as $category) {
    //do something with $category
}

メニュー@mariusに表示されていないカテゴリも返されません
DRAJI

1
@DRAJI。うーん...それはすべきです。インデックスが最新であることを確認してください。
マリウス

「$ collection = Mage :: getResourceModel( 'catalog / category_collection')」でもこれらのカテゴリは返されません
DRAJI

@DRAJI。次に、カテゴリツリーに問題がある可能性があります。データが破損している可能性があります。pathフィールドの一部の値が間違っている可能性があります。または、親IDが間違っている可能性があります。
マリウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.