softkb 17 июня 2016 1 6
Вывод меню в шаблоне сделан следующим образом:

{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"}`
?
6 комментариев
Fi1osof1
Fi1osof 17 июня 2016г в 20:23 #
Наклонные кавычки надо заменить на обычные. То есть в вашем случае получится так:
{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}
s
softkb 17 июня 2016г в 20:25 #
Спасибо! Буду пробовать.
Fi1osof1
Fi1osof 17 июня 2016г в 21:01 #
Не за что!
Fi1osof1
Fi1osof 17 июня 2016г в 21:03 #
Кстати, а у вас не возникает критическая ошибка из-за вот этого?: {«isfolder»: «1»} Ведь фигурные скобки — это Smarty-теги.
s
softkb 18 июня 2016г в 19:44 #
Ошибка возникает.

Вот этот вариант работает нормально:
{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}
Eo_Narique1
Eo_Narique 18 июня 2016г в 20:54 #
Лайфхак, чтобы json нормально работал без ошибок в смарти надо проьелы поставить
{ «isfolder»: «1» }
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.