Простой вопрос категории magento

#php #magento

#php #magento

Вопрос:

Как я могу перестать getChildren() быть рекурсивным?

 $categories = Mage::getModel('catalog/category')->load(2)->getChildren();
  

Я хочу знать только непосредственных потомков категории, а не ее внуков.

Ответ №1:

Используйте addLevelFilter :-

 $categories = Mage::getModel('catalog/category')
                    ->getCollection()
                    ->addAttributeToSelect('*')
                    ->addIsActiveFilter()
                    ->addLevelFilter(1)
                    ->addOrderField('name');
  

Для получения дополнительной информации:- Получить список всех категорий

Надеюсь, это поможет.

Комментарии:

1. Это выполняется очень медленно и выдает фатальную ошибку разрешенной памяти. У меня есть около 100 категорий. Может ли это быть потому, что у меня отключены все кэши? Спасибо

2. Вы выбираете все категории или одну категорию? Вы можете использовать addIdFilter ($categoryIds), если вы извлекаете одну или несколько категорий.