我正在使用Magento ver1.6.1。我需要获取商店的根类别。我在谷歌搜索没有得到任何好主意/代码。让我知道如何获得商店的根类别?
Mage::app()->getStore()->getRootCategoryId()
上面的代码给出了默认的根类别,但我需要在商店创建过程中选择的类别ID。
答案 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;
}
}
}