parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Чуть более рабочий код

Mizter Egoist 02.02.2016 13:11

Из за того, что anc = dsc происходит ошибка.
Не знаю что именно прописать чтобы заработало, и не знаю как уровни вложенности подключить.
В итоге получилось следующее:
Выводит первое корневое значение из нескольких, ниже, не как потомок отображается его потомок и уже под потомком потомка отображение списка происходит нормально.

Привожу код:
@createHashTree[tPages]
$result[^tPages.hash[anc][$.distinct[tables]]]

@printTreeItem[hPage;sBody]
$result[<li><label><input type="checkbox" name="section" value="$hPage.pID"> $hPage.name</label>^if(def $sBody){<ul class="list">$sBody</ul>}</li>]

@printPages[hTree;iParentID][tLevel]
^if($hTree.[$iParentID]){
	^hTree.[$iParentID].menu{
		^printTreeItem[
			$hTree.[$iParentID].fields;
			^if($hTree.[$hTree.[$iParentID].dsc]){
				^if($hTree.[$iParentID].anc eq $hTree.[$iParentID].dsc){
					...
				}{
					^printPages[$hTree;$hTree.[$iParentID].dsc]
				}
			}
		]
	}
}

@addPage[params]
$sections[^get.getPages[$.tID[1]]]
^connect[$connect_string]{
	$tPage[^table::sql{
		SELECT * FROM pages p
		JOIN path t ON (p.pID = t.dsc)
		WHERE t.anc IN (^sections.menu{$sections.pID}[,])
		ORDER BY anc, lvl
	}]
	$hTree[^createHashTree[$tPage]]
}
<ul class="list">^printPages[$hTree;$tPage.anc]</ul>
Помогите пожалуйста до конца дописать, не знаю что делать, все перепробовал.