【发布时间】:2017-06-01 15:15:54
【问题描述】:
我正在尝试为我的所有类别、子类别和子子类别生成一个包含 id 和 url 的 JSON 字符串。下面的代码只能让我到达顶级类别,但我也需要第二和第三。我的目标是创建一个动态更新的站点地图,对字符串进行解码并制作每个类别级别的无序列表。
public function createCategoryTree() {
$_categories = Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect('*')->addIsActiveFilter()->addLevelFilter(2)->addOrderField('position'); // load all categories
$arr = array();
if ($_categories){ // if there are categories
foreach ($_categories as $cat){
$cat_name = $cat->getName(); // name as key
if (strlen(stristr($cat_name,'default')) < 3) {
$cat_id = $cat->getId(); // id
$cat_url = $cat->getUrl(); // url
$arr[$cat_id] = array('title'=>$cat_name,'url'=>$cat_url);
}
}
}
print_r (json_encode($arr));
die;
}
我得到这样的东西:
{
"637": {
"title": "bikes",
"url": "http:www.123.com/shop/bicycles "
}
}
但我想要这样的东西:
{
"637": {
"title": "bikes",
"url": "http:www.123.com/shop/bicycles",
"children": {
"658": {
"title":"wheels",
"url":"http:www.123.com/shop/bicycles/wheels"
},
"489": {
"title": "pumps",
"url":"http:www.123.com/shop/bicycles/pumps"
}
}
}
感谢您的时间和帮助!
【问题讨论】: