0
我正在使用https://github.com/blt04/doctrine2-nestedset來管理我的分層數據。使用doctrine2-nestedset包裝li標籤的分層數據
它管理層次結構與以下數據庫結構:
categories
-id
-root
-lft
-rgt
-name
我需要包裝與Li的標籤的節點如下:
Vehicles
Bikes
Pulsor
Hero Honda
Automobiles
Trucks
這束提供以下用於操作節點的方法:
$tree=fetchTreeAsArray($nodeId); //fetches tree for that node
$node->getNumberDescendants(); //returns all descendants for that node
更多關於方法的說明https://github.com/cbsi/doctrine2-nestedset/blob/master/README.markdown
我想環繞李標籤節點:
我試過至今:
$tree = $nsm->fetchTreeAsArray(8);
$treeLiTags="<ul>";
foreach ($tree as $node) {
$treeLiTags.="<li>".$node;
if ($node->hasChildren()) {
echo $node->getNumberDescendants();
$treeLiTags.="<ul>";
$closeParent=true;
}
else {
if ($closeParent && !$node->hasNextSibling()) {
$closeParent=false;
$treeLiTags.="</ul>";
}
$treeLiTags.="</li>";
}
}
$treeLiTags.="</ul>";
echo $treeLiTags;
這將返回如下:
Vehicles
Bikes
Pulsor
Hero Honda
250 cc
Automobiles
Trucks
我應該得到:
Vehicles
Bikes
Pulsor
Hero Honda
250 cc
Automobiles
Trucks
任何算法wou ld有幫助嗎?
感謝鏈接嵌套集樹自述文件。我想我會嘗試這個擴展 – sonam