Передать переменную в $_modx->runSnippet Новый

Дополнение: pdoResourses

Всем привет, недавно столкнулся с такой проблемой: в чанк передаю переменную $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?
19 сентября 2016, 18:42    Алексей   
0    370 0

Комментарии (3)

  1. Виталий Серый 19 сентября 2016, 18:54 # -1
    Условие можно вынести за пределы сниппета.
    {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
    ])}
    
    Ну а условие изначально не видно скорее всего из-за кавычек.
    1. Павел Гвоздь 19 сентября 2016, 21:49 # +4
      {$_modx->runSnippet('!pdoResources', [
          'parents' => $_modx->config.cities,
          'sortby' => 'menuindex',
          'sortdir' => 'ASC',
          'limit' => 0,
          'tpl' => '@INLINE <option {($id == ' ~ $from ~ ') ? \'selected="selected"\' : \'\'} value="{$id}">{$pagetitle}</option>',
      ])}
      1. Алексей 22 сентября 2016, 08:41 # 0
        Спасибо! Помогло
      Вы должны авторизоваться, чтобы оставлять комментарии.