Пишу это для моей собственной помощи, так как моя платформа была настроена в представлениях с несколькими магазинами, и, конечно, я не получил правильный идентификатор корневой категории. Я все нижеприведенные решения:
Соль 1:
Mage::app()->getStore($storeId)->getRootCategoryId(); //The result was ID: 2
Соль 2:
Mage::app()->getStore()->getRootCategoryId(); //The result was ID: 2
Соль 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
, приведен ниже и взят из здесь
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;
}
}
}