pdoMenu + Smarty

Вывод меню в шаблоне сделан следующим образом: {block name="sub_menu"} {snippet name="pdoMenu" assign="navdata" params=[ 'parents' => $modx->resource->parent, 'level' => 1 ]} {if $navdata}<nav class="sub-menu">{$navdata}</nav>{/if} {/block} Как правильно добавить &where={"isfolder": "1"} ?

Наклонные кавычки надо заменить на обычные. То есть в вашем случае получится так: {block name="sub_menu"} {snippet name="pdoMenu" assign="navdata" params=[ 'parents' => $modx->resource->parent, 'level' => 1, 'where' => {"isfolder": "1"} ]} {if $navdata}<nav class="sub-menu">{$navdata}</nav>{/if} {/block} Можно вообще вот так записать, так как с массивом удобней работать: {block name="sub_menu"} {snippet name="pdoMenu" assign="navdata" params=[ 'parents' => $modx->resource->parent, 'level' => 1, 'where' => json_encode([ "isfolder" => 1 ]) ]} {if $navdata}<nav class="sub-menu">{$navdata}</nav>{/if} {/block} Но вообще я бы вот так написал: {block name="sub_menu"} {if $navdata = $modx->runSnippet("pdoMenu", [ 'parents' => $modx->resource->parent, 'level' => 1, 'where' => json_encode([ "isfolder" => 1 ]) ])} <nav class="sub-menu">{$navdata}</nav> {/if} {/block}

Спасибо! Буду пробовать.

Не за что!

Кстати, а у вас не возникает критическая ошибка из-за вот этого?: {«isfolder»: «1»} Ведь фигурные скобки — это Smarty-теги.

Ошибка возникает. Вот этот вариант работает нормально: {block name="sub_menu"} {if $navdata = $modx->runSnippet("pdoMenu", [ 'parents' => $modx->resource->parent, 'level' => 1, 'where' => json_encode([ "isfolder" => 1 ]) ])} <nav class="sub-menu">{$navdata}</nav> {/if} {/block}

Лайфхак, чтобы json нормально работал без ошибок в смарти надо проьелы поставить { «isfolder»: «1» }