Getting All categories in external page
This is very basic magento question i guess. I want to first get all the store categories, then loop thr开发者_Python百科ough them to get their sub-categories and products and similarly continue till the last sub-category.
I will be using this in an external page having Mage::app() declared at the top of the page. I am not aware of the Magento API's(if thats wat they are called) to use to get this functionality.
Remember I am not using this in any of the templates, so something like getCurrentCategory() will not work here i guess.
Also please guide if there are any good resources to search for particular functionality in magento and API's to implement it, or am i doomed to go through their phpdoc to know the list of methods.
Any help here will be greatly appreciated, Thanks.
The following should help you do what you want. From my brief look at things, it appears Magento doesn't think of things strictly in a Category/Sub-Category kind of way. Rather, there's a bunch of categories, and some categories have parents, some have children, and some have both.
//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('*');
精彩评论