2012-01-02 11 views
5

私はMagento ver1.6.1を使用しています。私はストアのルートカテゴリを取得する必要があります。私はグッドアイデア/コードを取得していないGoogleで検索します。店舗のルートカテゴリを取得する方法を教えてください。店舗のルートカテゴリを探す

上記のコードはデフォルトのルートカテゴリですが、ストアの作成時に選択するカテゴリIDが必要です。

答えて

14

あなたが試してみました:

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

拡張機能のインストール/アップグレードスクリプト内でストアデータを取得する場合は、まずMage :: init()を実行する必要があります。そうしないと、ストアオブジェクトにデータが読み込まれません。 –

0

を私のプラットフォームは、マルチ店舗ビューで、私は正しいルートカテゴリIDを取得していなかったすべての手段によって構成されていたように私自身の助けのためにそれを書きます。 I以下の解決策の全て:

ソル1:

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

ソル2:

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

ソル3:のみ働き、ID: 1が返さ

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

方法以下から与えられ、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; 
     } 
    } 
}