2013-10-11 2 views
1

У меня возникли проблемы с получением всех родительских идентификаторов из идентификатора категории. Представьте эту категорию дерево:Magento получить все родительские идентификаторы

2 
- 5 
    - 8 
- 6 
    - 9 
    - 12 
    - 20 

Теперь, позволяет сказать, что я хочу все родительские корочки «12». Это будет 2,6,12. Я думаю, вы знаете, что я здесь делаю. Я делаю поле category_ids для импорта продуктов.

Заранее благодарен!

ответ

10

Самый простой способ сделать это заключается в следующем:

$category = Mage::getModel('catalog/category')->load($categoryId); 

Каждая категория имеет поле под названием path, который содержит идентификаторы родителей и текущей категории.

$path = $category->getPath(); 

Это должно вернуть что-то вроде этого 1/2/6/12. Все, что вам нужно сделать, это разбить эту строку на / и удалить первый элемент. Это идентификатор для «корня всех корней».

$ids = explode('/', $path); 
unset($ids[0]); 

Теперь вы должны иметь то, что вы ищете в $ids

+0

Thanx man! Действительно ценю это! –

Смежные вопросы