#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), если вы извлекаете одну или несколько категорий.