Передать переменную в $_modx->runSnippet
Всем привет, недавно столкнулся с такой проблемой: в чанк передаю переменную $from, она видна везде в чанке, КРОМЕ снипета pdoResources, а именно мне нужно сравнивать эту переменную в условии при работе снипета, привожу код ниже
{$_modx->runSnippet('!pdoResources', [
'parents'=>$_modx->config.cities,
'sortby'=>'menuindex',
'sortdir'=>'ASC',
'limit'=>0,
'tpl'=>'@INLINE
{if $id==$from}
<option selected="selected" value="{$id}">{$pagetitle}</option>
{else}
<option value="{$id}">{$pagetitle}</option>
{/if}
'
])}
Можно ли как то сделать так, чтобы в снипете была видна переменная $from? Комментарии: 3
Условие можно вынести за пределы сниппета.
{set $tpl = '@INLINE <option value="{$id}">{$pagetitle}</option>'}
{if $id==$from}
{set $tpl = '@INLINE <option selected="selected" value="{$id}">{$pagetitle}</option>'}
{/if}
{$_modx->runSnippet('!pdoResources', [
'parents'=>$_modx->config.cities,
'sortby'=>'menuindex',
'sortdir'=>'ASC',
'limit'=>0,
'tpl'=>$tpl
])}
Ну а условие изначально не видно скорее всего из-за кавычек. {$_modx->runSnippet('!pdoResources', [
'parents' => $_modx->config.cities,
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'limit' => 0,
'tpl' => '@INLINE <option {($id == ' ~ $from ~ ') ? \'selected="selected"\' : \'\'} value="{$id}">{$pagetitle}</option>',
])}
Спасибо! Помогло
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.