Как передать параметр из Clientconfig в PdoMenu

Есть такой вызов меню:
{$_modx->runSnippet('pdoMenu', [
'level' => '1',
'parents' => '2,3',
'resources' => '[[++set_menu_top]]',
'scheme' => 'full',
'tplOuter' => '@INLINE {$wrapper}',
'tpl' => '@INLINE <a href="{$link}">{$menutitle}</a>'
])}
В Clientconfig добавил параметр set_menu_top, в которой список Id ресурсов, через запятую.

Так вот, Fenom не хочет подхватывать этот параметр.

Пробовал так
{'set_menu_top' | option}
и так
{$_modx->config.set_menu_top}
— тоже не видит его.

Что я делаю не так? Как передать параметр в сниппет?
Rootiys
09 июля 2016, 15:06
modx.pro
2
2 779
0

Комментарии: 15

Юрий
09 июля 2016, 18:30
0
Попробуй так:
$_modx->config.set_menu_top
    Rootiys
    09 июля 2016, 18:32
    0
    Пробовал и так — не работает.
      Юрий
      09 июля 2016, 18:36
      +1
      {$_modx->runSnippet('pdoMenu', [
      'level' => 1,
      'parents' => '2,3',
      'resources' => $_modx->config.set_menu_top,
      'scheme' => 'full',
      'tplOuter' => '@INLINE {{+wrapper}}',
      'tpl' => '@INLINE {{+menutitle}}'
      ])}
        Юрий
        09 июля 2016, 18:46
        +1
        Ват вызов с рабочего сайта:
        {$_modx->runSnippet('pdoMenu', [
                                    'fastMode' => 1,
                                    'parents' => $_modx->resource.id,
                                    'resources' => '',
                                    'cache' => 1,
                                    'level' => 1,
                                    'showHidden' => 1,
                                    'firstClass' => 0,
                                    'lastClass' => 0,
                                    'hereClass' => 'uk-active',
                                    'tplOuter' => '@INLINE <div class="uk-width-1-1"><div class="uk-panel uk-panel-box uk-flex uk-flex-center"><ul class="uk-subnav uk-subnav-line">{{+wrapper}}</ul></div></div>',
                                    'tpl' => '@INLINE <li class=""><a href="{{+link}}" {{+attributes}} title="{{+pagetitle}}">{{+menutitle}}</a>{{+wrapper}}</li>'
                                ])}
          Rootiys
          09 июля 2016, 18:48
          0
          Благодарю, все работает!
            but1head
            09 июля 2016, 19:28
            0
            $_modx->config['set_menu_top']

            Config не объект, а массив, если не ошибаюсь.
              Владимир
              09 июля 2016, 21:01
              0
              а тут, в доках, так {$_modx->config.system_setting}
                but1head
                10 июля 2016, 01:09
                1
                +1
                У меня на одном проекте
                {$_modx->config.cultureKey}
                не отрабатывает, а вот
                {$_modx->config['cultureKey']}
                работает прекрасно.
                  Владимир
                  10 июля 2016, 10:26
                  0
                  Спасибо, буду иметь ввиду. Пока у меня
                  lang="{$_modx->config.cultureKey}"
                  выводит все как надо, но мало ли)

                  PS у меня в статичных шаблонах и чанках, а в вашем случае в чанках или в шаблоне?
      Abu
      Abu
      24 декабря 2016, 08:15
      0
      Использовал двойные кавычки вместо одинарных, иначе отказывалось работать.

      {$_modx->runSnippet('!AjaxForm', [
                              'emailSubject'   => "{$_modx->config.site_name}",
                              'emailTo'        => "{$_modx->config.myemail}",
                              'snippet'        => 'FormIt',
                              'form'            => 'formTpl',
                              'hooks'            => 'email,spam',
                              'emailTpl'        => 'contactFormTpl',
                              'validate'        => 'workemail:blank,name:required,contact:required,textareatype:required',
                              'validationErrorMessage' => 'Errors in form',
                              'successMessage'     => 'Success',
                          ])}
        Владимир
        24 декабря 2016, 08:22
        +2
        без кавычек работает
        'emailSubject'   => $_modx->config.site_name,
        'emailTo'        => $_modx->config.myemail,
          Abu
          Abu
          24 декабря 2016, 08:27
          0
          Без кавычек феном вообще не компилится. Может ещё от переменных зависит.
            Владимир
            24 декабря 2016, 08:29
            +2
            Без кавычек феном вообще не компилится
            вы не правы
            вот, все работает, и все правильно
            {set $position4 =$_modx->runSnippet('!pdoResources', [
                            'fastMode' => 1,
                            'scheme' =>  'full',  
                            'parents' =>  $_modx->config.snfi_short_news,
                            'depth' =>  0,
                            'context' =>  'web',
                            'resources' =>  $_modx->config.snfi_short_news_minus,
                            'hideContainers' =>  1,
                            'limit' =>  6,
                            'tpl' =>  'tpl_hp_position4',
                            ])}
                            <!-- тут снипет автовывода -->
            
                            {if $_modx->config.snfi_popular_articles_auto == 1}
                            {set $position_resources = $_modx->config.statisticsforposition5}
                            {else}
                            {set $position_resources  = $_modx->config.snfi_popular_articles}
                            {/if}
                            {set $position5 =$_modx->runSnippet('!pdoResources', [
                            'fastMode' => 1,
                            'scheme' =>  'full',  
                            'includeTVs' => 'title_image',
                            'parents' =>  $_modx->config.allparents_web_fi,
                            'depth' =>  0,
                            'context' =>  'web',
                            'resources' => $position_resources,
                            'hideContainers' =>  1,
                            'limit' =>  3,
                            'tpl' =>  'tpl_hp_position5',
                            ])}
              Abu
              Abu
              24 декабря 2016, 08:39
              +1
              ну как же не прав, когда вот такое

              {$_modx->runSnippet('!AjaxForm', [
                                      'emailSubject'   => {$_modx->config.site_name},
                                      'emailTo'        => {$_modx->config.myemail},
                                      'snippet'        => 'FormIt',
                                      'form'            => 'formTpl',
                                      'hooks'            => 'email,spam',
                                      'emailTpl'        => 'contactFormTpl',
                                      'validate'        => 'workemail:blank,name:required,contact:required,textareatype:required',
                                      'validationErrorMessage' => 'Errors in form',
                                      'successMessage'     => 'Success',
                                      'errTpl'            => 'error'
                                  ])}
              [2016-12-24 08:35:14] (ERROR @ /var/www/xxx/xxx.xx/core/components/pdotools/model/pdotools/pdotools.class.php : 940) Unexpected token '{' in expression in 2005a6c32190159a1939eaf948eb2a80 line 150, near '{$_modx->runSnippet('!AjaxForm', [↵                        'emailSubject'   => {' <- there
              upd. ааа все понял, не прав, иду спать
                Владимир
                24 декабря 2016, 09:18
                0
                А я вот что обнаружил, в одном контексте (web) в документе переменные из настроек ClientConfig выводятся, а а другом контексте — нет. Т.е. если это настройки системные- все норм, а если ClientConfig — то пусто))
                1- {$_modx->config['may_mail_1']} or {$_modx->config.may_mail_1} - переменные из ClientConfig  в контексте web все норм, в других проблемы - пусто
                2- [[++may_mail_1]] переменные из ClientConfig   но стандартный тег- все норм во всех контекстах
                {$_modx->config.site_name} - системная настройка, все норм во всех контекстах
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        15