Добрый день!

Делаю фильтрацию элементов на сайте с ModX Evo by Dmi3yy. В своём сниппете ProjectFilter вызываю сниппет Ditto с нужными параметрами для фильтрации. В $html после обработки вижу, что плейсхолдеры подставляются, а вот вызов сниппета остаётся текстом "[!get_multi_image ...]]". Хотя там должна быть картинка (в каталоге используется этот же шаблон, и она выводится).

Подозреваю, что проблема может быть из-за того, что я вызываю Ditto из своего сниппета. Подскажите, как можно её решить?

////////////////
//snippet ProjectFilter
////////////////
<?php
$pfType = (isset($_POST['pf']['select26'])) ? cleanText($_POST['pf']['select26']) : '';

//Параметры и вызов Ditto из сниппета
$params['depth'] = 2;
$params['tpl'] = 'project_filter_tpl'; // Простой вызов шаблона...
if (!empty($pfType)) $params['filter'] = 'tv_prod_18,'.$pfType.',1';
$html = $modx->runSnippet('Ditto', $params); //вызываем Ditto

return $html;

function cleanText($text){
    $text = htmlentities($text, ENT_QUOTES);
    $text = strip_tags($text);
    $text = trim($text);
    $text = mysql_real_escape_string($text);

    return $text;
}
?>

////////////////
//chunk project_filter_tpl
////////////////
<a href="[~[+id+]~]" rel="[+id+]"><img src="assets/classes/timthumb/timthumb.php?src=[!get_multi_image? &tvname=`md_gallery` &docid=`[+id+]` &number=`0`!]&w=231&h=144&zc=1" /></a>

////////////////
//snippet get_multi_image
////////////////
<?php
$tvf = $modx->getTemplateVar($tvname, "*", $docid);
$fotoArr=json_decode($tvf['value']);
return $fotoArr[0][$number];
?>