Получение всех категорий на внешней странице - PullRequest
0 голосов
/ 02 апреля 2010

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

Я буду использовать это на внешней странице с объявленным Mage :: app () в верхней части страницы. Я не знаю, какие API Magento (если таковые их называют) используют для получения этой функциональности.

Помните, что я не использую это ни в одном из шаблонов, поэтому что-то вроде getCurrentCategory () здесь работать не будет.

Также, пожалуйста, укажите, есть ли какие-нибудь хорошие ресурсы для поиска определенных функций в magento и API для его реализации, или я обречен просмотреть их phpdoc, чтобы узнать список методов.

Любая помощь здесь будет принята с благодарностью, Спасибо.

1 Ответ

0 голосов
/ 04 апреля 2010

Следующее должно помочь вам сделать то, что вы хотите. Из моего краткого взгляда на вещи, кажется, что Magento не думает о вещах строго в категории / подкатегории. Скорее, есть куча категорий, и у некоторых категорий есть родители, у некоторых есть дети, а у некоторых есть и то, и другое.

//get a collection of all the categories
Mage::app($mageRunCode, $mageRunType);
//...

//get a collection of all the categories
$categories = Mage::getModel('catalog/category')
->getCollection()
->addAttributeToSelect('*');    

foreach($categories as $category)
{
    //get an array of parent ids for this category
    $array = $category->getParentIds();

    //get an array of children ids
    $children = explode(',',$category->getChildren());

    //get a list of all the products in a category
    $products = $category->getProductCollection();

}

//pull collection of categories with a parent whose id is 13
$categories = Mage::getModel('catalog/category')
->getCollection()
->addFieldToFilter('parent_id','13')    
->addAttributeToSelect('*');        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...