ZeXeDeR
@ZeXeDeR
web-developer

Как подкоррекировать данный снипет для ModX?

Доброго времени суток. Имеется код сниппета

<?php
/**
 * Входной параметр $max.
 * Сколько заголовков нужно выводить.
 */
$max = (isset($max)) ? $max : "20";
 
$dID = $modx->documentIdentifier; // Получаем ID просматриваемого документа.
$parentId = array_pop($modx->getParentIds($modx->documentIdentifier,1)); // Получаем родителя.
 
$children = $modx->getActiveChildren($parentId,'menuindex','ASC');
 
$j=0;
$key = false;
while(!$key && $j<count($children)){
  $key = array_search($dID,$children[$j]);
  $j++;
}
 
$output = '<ul>';
 
// Цикл показа постов
if(!empty($key) && count($children)>1) {
  for ($i=1;$i<$max+2;$i++) {
    if ($j-$i>=0) {
      $simular = $modx->getDocument($children[$j - $i]['id'], "pagetitle"); 
      if ($children[$j - $i]['id']!=$dID) 
        $output .= '<li class="related-list"><a href="'.$modx->makeUrl($children[$j - $i]['id']).'">'.$simular['pagetitle'].'</a></li>';     
    }
  }
}
 echo $output.'</ul>';
?>


Сниппет находит родительский ресурс и выводит полный список дочерних ресурсов. В настоящий момент он выводит только ресурсы следующие за тем, который сейчас активен. Никак не соображу, как его заставить его также выводить список ресурсов, до активного. Вообще, задача заключается в выводе сиблингов, но насколько мне известно, в Evo готового решения нет. Поэтому извращаюсь сижу.
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
Sanes
@Sanes
Wayfinder разве не подходит?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы