获取外部页面中的所有类别

时间:2010-04-02 05:02:40

标签: php magento

这是我猜的非常基本的magento问题。 我想首先获取所有商店类别,然后循环浏览它们以获取它们的子类别和产品,同样继续直到最后一个子类别。

我将在页面顶部声明Mage :: app()的外部页面中使用它。我不知道用于获得此功能的Magento API(如果他们被称为)。

请记住,我没有在任何模板中使用它,所以像getCurrentCategory()这样的东西我不会在这里工作。

另外请指导是否有任何好的资源来搜索magento和API中的特定功能来实现它,或者我注定要通过他们的phpdoc来了解方法列表。

非常感谢任何帮助, 感谢。

1 个答案:

答案 0 :(得分:0)

以下内容可帮助您做您想做的事。从我对事物的简要看看,看来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('*');