<ul class="b_goals"> [[services-list? &id=`9` &class=`b_goals_itm` &pid=`[*id*]`]] </ul>
<?php
$result="";
$url="";
$tmp=$modx->getParent ($id);
$url="/".$tmp['alias']."/";
$arr = $modx->getDocument($id);
$url.=$arr['alias'];
$result.="<li class='$class'><a href='".$url.".html' class='link' title='".$arr['menutitle']."'>".$arr['menutitle']."</a></li>";
if($arr['isfolder']=='1')
{
$tmp=$modx->getActiveChildren($id);
foreach($tmp as $row)
{
if($pid==$row['id']) $l='active'; else $l='link';//vot eto uslovie ne rabotaet
$result.="<li class='$class'><a href='$url/".$row['alias'].".html' class='$l' title='".$row['menutitle']."'>".$row['menutitle']."</a></li>";
}
}
return $result;
?>
Из чанка вызываю сниппет с параметрами
<ul class="b_goals"> [[services-list? &id=`9` &class=`b_goals_itm` &pid=`[*id*]`]] </ul>
Суть сниппета вернуть список состоящий из родительского элемента и его дочерних, для того чтобы пометить активный элемент в сниппете проверяется переданный id он же pid в чанке, с полученным id элементов полученных функцией getActiveChildren и если id совпали ставиться ссылке класс active, так вот условие срабатывет, будто бы никогда не совпадают они. Просто отобразил в тексте оба id каждой ссылки и у нужно ссылки id выводятся одинаковыми, но условие все равно не срабатывает в чем дело может кто знает?
сам сниппет:
<?php $result=""; $url=""; $tmp=$modx->getParent ($id); $url="/".$tmp['alias']."/"; $arr = $modx->getDocument($id); $url.=$arr['alias']; $result.="<li class='$class'><a href='".$url.".html' class='link' title='".$arr['menutitle']."'>".$arr['menutitle']."</a></li>"; if($arr['isfolder']=='1') { $tmp=$modx->getActiveChildren($id); foreach($tmp as $row) { if($pid==$row['id']) $l='active'; else $l='link';//vot eto uslovie ne rabotaet $result.="<li class='$class'><a href='$url/".$row['alias'].".html' class='$l' title='".$row['menutitle']."'>".$row['menutitle']."</a></li>"; } } return $result; ?>
if($pid==$row['id']) {
$l='active';
} else {
$l='link' ;
}
Из чанка вызываю сниппет с параметрами
<ul class="b_goals"> [[services-list? &id=`9` &class=`b_goals_itm` &pid=`[*id*]`]] </ul>
if( $modx->documentIdentifier == $row['id'] ) {
$l='active';
} else {
$l='link' ;
}$result.="<li class='$class'><a href='$url/".$row['alias'].".html' class='$l' title='".$row['menutitle']."'>".$row['menutitle']."</a></li>";
$result.='<li class="'.$class.'"><a href="'.$url.'"/"'.$row['alias'].'".html' class="'.$l.'" title="'.$row['menutitle'].'">"'.$row['menutitle'].'"</a></li>';