Вопрос по where в fenom

Подскажите пожалуйста, как записать переменную внутри условия на fenom?
вызываю сниппет
{var $mark = '[[!pdoField? &id=`[[*parent]]` &field=`pagetitle` &top=`2`]]'}
{$_modx->runSnippet('!ecMessagesMain', [
                'limit' => '3',
                'tpl' => 'reviews_row',
                'threads' => 'resource-19250',
                'where' => '{"subject:LIKE": "%"~$mark~"%"}'
                'showLog' => '1'
                ])}
{$mark}
При таком вызове, выводятся случайные сообщения, то есть не те, которые в
[[+subject]]
содержат переменную
{$mark}
Заранее спасибо
Konstantin
22 июня 2017, 11:34
modx.pro
2
2 696
0

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

Илья Уткин
22 июня 2017, 15:52
0
Ты немного в кавычках запутался)
'where' => '{"subject:LIKE": "%'~$mark~'%"}'
    Konstantin
    22 июня 2017, 16:06
    0
    Спасибо за ответ
    Не работает, выводит только лог. Проверяю, разумеется, на сообщениях, в которых 100% есть слово из переменной.
    Пробовал разные варианты написания – ничего не помогает…
      Konstantin
      22 июня 2017, 16:41
      0
      вы все правильно написали (обязательно отблагодарю, чуть позже), но видимо дело в другом.
      Если я пишу вручную
      'where' => '{"subject:LIKE": "%BMW%"}'
      , то выводятся сообщения у которых в subject содержится BMW, а если так
      'where' => '{"subject:LIKE": "%'~$mark~'%"}'
      – то не выводит ничего. Только лог в котором есть такая строка:
      0.0000989: Added where condition: `Thread`.`name`=resource-19250, ecMessage.published=1, ecMessage.deleted=0, subject:LIKE=%BMW%
      Владимир Новопашин
      22 июня 2017, 18:53
      0
      Попробуйте использовать другой способ указания where. Не знаю работает ли такое в ecMessagesMain, но в pdoTools я предпочитаю использовать такой способ — куда меньше нюансов возникает.
      'where' => "[\"subject LIKE '%"~$mark~"%'\"]"
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4