Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Mizter Egoist 07.04.2016 09:28 / 07.04.2016 15:02
^if($params.tID){AND p.tID = $params.tID}Это тип элемента: категория, страница и т. д.
@tree[params] ^connect[$connect_string]{ $tree[^table::sql{ SELECT t.dsc, IFNULL(h.anc, 0) AS pID FROM path AS t LEFT JOIN path AS h ON (h.dsc = t.dsc AND h.lvl = 1) WHERE t.anc = 297 }] $tree[^tree.hash[pID][ $.type[table] $.distinct(true) ]] } ^print[$tree] @print[tree;pID][locals] $pID(^pID.int(0)) $cID[$tree.$pID] $result[] ^if($cID){ $result[^cID.menu{ <div> <strong>$cID.name</strong> ^print[$tree]($cID.dsc) </div> }] }На выходе данные следующие:
{ "0":[ {"dsc":"297","pID":"0"} ], "297":[ {"dsc":"337","pID":"297"}, {"dsc":"367","pID":"297"} ] }Он не достает детей третьего и четвертого уровня.
297 337 347 357 387 367 377 397Таблица
anc dsc lvl 0 297 1 297 297 0 0 337 2 297 337 1 337 337 0 0 347 3 337 347 1 347 347 0 0 357 3 337 357 1 357 357 0 0 367 2 297 367 1 367 367 0 0 377 1 377 377 0 0 387 4 357 387 1 387 387 0 0 397 2 377 397 1 397 397 0