Не работает [[!+modx.user.id]] в параметре where!

Приветствую.

В общем дело такое, не могу понять, почему не хочет работать [[!+modx.user.id]] в параметре WHERE.

Сниппет вызываю так:
{$_modx->runSnippet('!pdoPage', [
    'class' => 'msProduct',
    'element' => 'msProducts',
    'parents' => 0,
    'showUnpublished' => 1,
    'where' => '{"createdby":[[!+modx.user.id]],"published":0}',
    'includeTVs' => 'subject_type',
    'tvPrefix' => '',
    'prepareTVs' => 1,
    'processTVs' => 1,
    'limit' => 10,
    'ajaxMode' => 'default',
    'showLog' => 1,
    'tpl' => 'main.profile.oneItem.tpl'
])}
Не работает, работает только явно назначенный, а именно:
'where' => '{"createdby":2,"published":0}',

Перерыл все что можно… думал, может это связано с msProduct или переизбытком фенома на странице, но нет, ничего не помогает и такая записть так же не работает:
'where' => '{"createdby":$_modx->user.id,"published":0}',
В логах видно, что он этот параметр не отрабатывает, в логас модекса так же нифига нет.
Помогите, кто может, пожалуйста, голову уже сломал!
Andrey
03 августа 2018, 02:40
68
0

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

Володя
03 августа 2018, 08:23
+2
в логах modx должна быть ругань на синтаксис, попробуйте как
'where' => '{ "createdby":[[!+modx.user.id]],"published":0 }',
    Денис
    03 августа 2018, 08:50
    +1
    Или так
    'where' => [
            'createdby' => $_modx->user.id,
            'published' => 0,
        ] | json_encode,
      Andrey
      09 августа 2018, 20:23
      0
      Спасибо тебе, добрый человек!
      Все как часики терь, я уйму времени потерял на этом и уже успел костыль временный прилепить!