Вопрос по 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}
Заранее спасибо Комментарии: 4
Ты немного в кавычках запутался)
'where' => '{"subject:LIKE": "%'~$mark~'%"}'
Спасибо за ответ
Не работает, выводит только лог. Проверяю, разумеется, на сообщениях, в которых 100% есть слово из переменной.
Пробовал разные варианты написания – ничего не помогает…
Не работает, выводит только лог. Проверяю, разумеется, на сообщениях, в которых 100% есть слово из переменной.
Пробовал разные варианты написания – ничего не помогает…
вы все правильно написали (обязательно отблагодарю, чуть позже), но видимо дело в другом.
Если я пишу вручную
Если я пишу вручную
'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%
Попробуйте использовать другой способ указания where. Не знаю работает ли такое в ecMessagesMain, но в pdoTools я предпочитаю использовать такой способ — куда меньше нюансов возникает.
'where' => "[\"subject LIKE '%"~$mark~"%'\"]"
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.