查找商店的根类别

时间:2012-01-02 12:42:21

标签: magento

我正在使用Magento ver1.6.1。我需要获取商店的根类别。我在谷歌搜索没有得到任何好主意/代码。让我知道如何获得商店的根类别?

Mage::app()->getStore()->getRootCategoryId()

上面的代码给出了默认的根类别,但我需要在商店创建过程中选择的类别ID。

2 个答案:

答案 0 :(得分:14)

你试过了吗?

Mage::app()->getStore($storeId)->getRootCategoryId();

答案 1 :(得分:0)

编写它是为了我自己的帮助,因为我的平台是在多商店视图中配置的,并且无论如何我都没有获得正确的根类别ID。我所有以下解决方案:

Sol 1:

Mage::app()->getStore($storeId)->getRootCategoryId(); //The result was ID: 2

Sol 2:

Mage::app()->getStore()->getRootCategoryId(); //The result was ID: 2

Sol 3:

$store = Mage::getModel('core/store')->load(Mage_Core_Model_App::DISTRO_STORE_ID);
$categoryId = $store->getRootCategoryId();// The result was again ID: 2

下面给出了仅工作并返回ID: 1的方法,该方法取自here

public function getRootCategoryId()
{
    $categories = Mage::getModel('catalog/category')->getCollection();
    $categIds = $categories->getAllIds();
    asort($categIds);
    foreach ($categIds as $k => $catId)
    {
        $category = Mage::getModel('catalog/category')->load($catId);
        if ($category->name)
        {
            return $catId;
        }
    }
}