Да этот вариант лучше! Советую всем иммено его использовать
И вот так можно: {assign var=params value=[ "parents" => $item.id, "tpl" => "menuRowTpl2", "useSmarty" => true, "where" => '{"template:in":[3,4,8]}' ]}
{snippet name=getProducts params=$params parse=true}
Так все то же самое.
{snippet name=getProducts params='&parents=$item.id&tpl=menuRowTpl2&useSmarty=true&where={"template:in":[3,4,8]}' parse=true}
а для smarty вызова снипета тогда как записать это?
Уточнение по данному вопросу: оказывается, надо было сделать так, чтобы искал сразу по нескольким шаблонам. В таком случае надо просто передать массив шаблонов, к примеру: {"template:in":[3,4,8]} еще был вопрос, как исключить шаблоны. Тогда или {"template:not in":[3,4,8]} (если массив), или {"template:!=":3} (если исключаем один).
В общем, если кому интересно, спрашивайте у Андчира к чему вот эта бессмысленная проверка? УРЛы на документы в другом контексте формируются с полной схемой. В итоге это условие не проходит и все полученный документы не попадают в конечный вывод.
Решено. Проблема была в синтаксической ошибке. Отсутствовала точка с запятой.