2017-05-24 5 views
0

私はセットアップされたmagentoプロジェクトを持っています。私はカテゴリとサブカテゴリをjson形式のオブザーバを使って取得したい。この情報はphtmlで呼び出してフロントエンドで表示したいと思っています。phpのオブザーバを使ってカテゴリとサブカテゴリを表示

また、カテゴリとサブカテゴリを作成すると、observerは自動的にjsonデータで更新されます。このjsonデータはpthmlファイルに渡されます。

これをどのように実装できますか。

答えて

0

このコードを試すと、JSON形式のすべてのカテゴリとサブカテゴリのリストが表示されます。

 function getCategoryTree($recursionLevel, $storeId = 1) 
    { 
     $parent = Mage::app()->getStore()->getRootCategoryId();  
     $tree = Mage::getResourceModel('catalog/category_tree'); 

     $nodes = $tree->loadNode($parent) 
         ->loadChildren($recursionLevel) 
         ->getChildren(); 
     $tree->addCollectionData(null, false, $parent); 

     $categoryTreeData = array(); 

     foreach ($nodes as $node) 
     { 
      $categoryTreeData[$node->getData('entity_id')] = getNodeChildrenData($node); 
     } 

     return $categoryTreeData; 
     } 

    function getNodeChildrenData(Varien_Data_Tree_Node $node) 
    { 
     $data = array(
     'title' => $node->getData('name'), 
     'url' => $node->getData('url_key'), 
     ); 

     foreach ($node->getChildren() as $childNode) 
     { 
      if (!array_key_exists('children', $data)) 
      { 
       $data['children'] = array(); 
      } 

      $data['children'][$childNode->getData('entity_id')] = getNodeChildrenData($childNode); 
     } 

     return $data; 
    } 

    print_r(json_encode(getCategoryTree(3))); 
関連する問題