JSON и плейсхолдеры

Здравствуйте!

Подскажите, пожалуйста, пытаюсь передать pagetitle текущей страницы в JSON строку сниппета и что-то не выходит
{'!mFilter2' | snippet : [
...
'optionFilters' => '{"proizvoitel:LIKE": $_modx->resource.pagetitle}',
...
]}
и через плейсхолдер тоже не работает

{set $cptl = $_modx->resource.pagetitle}
{'!mFilter2' | snippet : [
...
'optionFilters' => '{"proizvoitel:LIKE": $cptl}',
...
]}
если хардкодить, то все ок работает

{'!mFilter2' | snippet : [
...
'optionFilters' => '{"proizvoitel:LIKE": "Заголовок_страницы"}',
...
]}
Что не так делаю?
newbmod
13 апреля 2022, 17:49
modx.pro
590
0

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

Евгений
14 апреля 2022, 13:46
0
{'!mFilter2' | snippet: [

'optionFilters' => '{«proizvoitel:LIKE»: '~$_modx->resource.pagetitle~'}',

]}

так попробуй
    newbmod
    14 апреля 2022, 19:32
    0
    К сожалению, так тоже не сработало
      Константин Ильин
      14 апреля 2022, 20:02
      +1
      'optionFilters' => ('{"proizvoitel:LIKE": "'~$_modx->resource.pagetitle~'"}'),
        newbmod
        15 апреля 2022, 17:04
        +1
        Спасибо большое! Вот это решение работает!
    Николай Савин
    14 апреля 2022, 19:59
    0
    В данном случае внутренний JSON это массив данных — а массив в феном пишется как [ ]

    {'!mFilter2' | snippet : [
    ...
    'optionFilters' => ["proizvoitel:LIKE" => $_modx->resource.pagetitle]
    ...
    ]}
      newbmod
      15 апреля 2022, 17:04
      0
      К сожалению данное решение не сработало, а вот решение выше от Константин Ильин — сработало!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    7