Посмотри как я реализовал данную задачу здесь
http://www.netagentov.ru/informs-analyst-5.html блок "Еще в разделе" внизу страницы.
Код Сниппета [[PrevNext]] дан ниже:
<?php
$tpl = isset($tpl) ? $tpl : null;
$id = $modx->documentIdentifier;
$parent = array_shift($modx->getParentIds($id));
$childs = array_values($modx->getChildIds($parent));
sort($childs);
$search = array_flip($childs);
$current = $search[$id];
$docs = $id;
if(isset($childs[$current+1])) $docs = "{$childs[$current+1]},$docs";
if(isset($childs[$current+2])) $docs = "{$childs[$current+2]},$docs";
if(isset($childs[$current-1])) $docs = "$docs,{$childs[$current-1]}";
if(isset($childs[$current-2])) $docs = "$docs,{$childs[$current-2]}";
return $modx->runSnippet('Ditto', array('documents'=>$docs,'summarize'=>'5','tpl'=>$tpl,'sortBy'=>'createdon','dateFormat'=>'%d-%m-%y'));
?>
Сниппет необходимо вызывать на странтце с активной новостью. У меня вызов через чанк {{PrevNext}} код ниже:
<!--{начало блока PrevNext}-->
<div class="mu prevnext mtop">
<p class="tl"></p>
<p class="tr"></p>
<div class="block">
<h3>Ещё в вразделе</h3>
<ul>[[PrevNext? &tpl=`ditto_prev`]]</ul>
</div>
<p class="bl"></p>
<p class="br"></p>
<p class="clear"></p>
</div>
<!--{конец блока PrevNext}-->
Сам чанк вызывается в шаблоне для новостных (статейных и тд.) страниц у меня так:
<div class="content">
<!--{начало блока Content}-->
[*#content*]
<!--{конец блока Content}-->
{{PrevNext}}
</div>
Как видно из кода чанка [[PrevNext]] имеет один параметр &tpl=`ditto_prev`который задает шаблон код ниже:
<li><a href="/[~[+id+]~]">[+date+] [+introtext+]</a></li>
Можно вызывать без чанков код ниже:
<div class="content">
<!--{начало блока Content}-->
[*#content*]
<!--{конец блока Content}-->
<ul>[[PrevNext? &tpl=`ditto_prev`]]</ul>
</div>