| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Mizter Egoist 02.02.2016 09:42 / 02.02.2016 10:03
Если anc = dsc, это не узел, это корневой предок, остальные являются связанными между собой родителями/детьми.@createHashTree[tPages]
$result[^tPages.hash[anc][$.distinct[tables]]]
@printTreeItem[hPage;sBody]
$result[<li>$hPage.name^if(def $sBody){<ul class="list">$sBody</ul>}</li>]
@printPages[hTree;iParentID][tLevel]
^if($hTree.[$iParentID]){
^hTree.[$iParentID].menu{
^rem{строка ниже вызывает ошибку 'printPages' call canceled - endless recursion detected}
^printTreeItem[$hTree.[$iParentID].fields;^if($hTree.[$hTree.[$iParentID].pID]){^printPages[$hTree;$hTree.[$iParentID].pID]}]
}
}
@addPage[params]
$sections[^get.getPages[$.tID[1]]]
^connect[$connect_string]{
$parent[^table::sql{
SELECT * FROM pages p
JOIN path t ON (p.pID = t.dsc)
WHERE t.anc IN (^sections.menu{$sections.pID}[,])
^rem{если убрать строку ниже, то будет ошибка 'printPages' call canceled - endless recursion detected}
AND t.anc != t.dsc
ORDER BY anc, lvl
}]
$hTree[^createHashTree[$parent]]
}
<ul class="list">^printPages[$hTree;$parent.anc]</ul>Не знаю что прописать в ^printPages[], а именно iParentID чтобы выводились еще корневые родители, а не так как сейчас, только со 2-го уровня.