我已经设置了magento项目。我想使用json格式的observer获取类别和子类别。这个信息我想用phtml调用并在前端显示。
此外,当我创建一个类别和子类别时,观察者会自动使用json数据进行更新。这个json数据应该传递给pthml文件。
我们如何实现这一点。
答案 0 :(得分: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)));