Доброго времени суток.
Короче надо вывести путь до документа, но некоторые из родительских доков выводится не должны.
Допустим будет определенный TV параметр (выводить/не выводить) и в зависимости от этого будет формироваться путь.
В Wayfinder не получается показать TV параметр, хотя вроде там просто [+name+] вставляться должно. Но походу куда-то не туда вставляю.
Что делать.. ((
вроде это копать надо...
[+phx:if=`[!UltimateParent!]`:is=`1`:and:isnot=`[*TV*]`:then=`{ {ChildChunk} }`:else=`{ {ParentChunk} }`+]
Сам себе отвечу.
Создал tv параметр visible - yes, no.
сниппет такой вот
<?php
$pid = $id;
$toplvl = $top;
$string;
$parent = $modx->getParent($pid,1,’id’);
$tmp=$pid;
while ($parent[id] <> $toplvl)
{$titleof=$modx->getParent($tmp,1,’pagetitle’);
$parent = $modx->getParent($tmp,1,’id’);
$tmp=$parent[id];
$tv=$modx->getTemplateVarOutput(’visible’,$tmp);
if ( $tv[’visible’] == "yes")
{
$string="<li id=\"\" ><a href=\"[(site_url)][~" .$parent[id]."~]\">".$titleof[pagetitle]."</a></li>". $string;
}
else
{}
}
return $string;
?>
Вызов такой
<ul>
[!parent? &id=[*id*] &top=`87`!]
</ul>
top - максимум до куда надо подниматься
защиты от дурака не делал (чтобы бесконечного цикла не было), хотя надо бы.