Fenom, вызов сниппета в сниппете
Перехожу на fenom и столкнулся с вопросом, никак не догоню.
Есть вызов phpthumbon с параметрами в pdoPage
Как модификатор, то есть {{+tv.image:phpthumbon='w=255&h=180&zc=1'}}, тоже не получается применить, потому что нужно полный путь получить, а tv.image содержит просто имя файла. Пробовал параметр prepareTvs, с ним тоже полный путь не пишет.
Подскажите, как это решить?
Есть вызов phpthumbon с параметрами в pdoPage
{$_modx->runSnippet('!pdoPage@PropertySet', [
'parents' => 2,
'tpl' => '@INLINE <img src="{$_modx->runSnippet("!phpthumbon@PropertySet", [
"input" => "/assets/images/{{+tv.image}}",
"options" => "w=255&h=180&zc=1"
])}" alt="{{+alias}}">',
'includeTVs' => 'image',
'limit' => 10
])}
Проблема в том что, {{+tv.image}} не передается в phpthumbon и картинка не находится. Как модификатор, то есть {{+tv.image:phpthumbon='w=255&h=180&zc=1'}}, тоже не получается применить, потому что нужно полный путь получить, а tv.image содержит просто имя файла. Пробовал параметр prepareTvs, с ним тоже полный путь не пишет.
Подскажите, как это решить?
Комментарии: 3
Потому что для плейсхолдеров есть специальная переменная $_pls
В вашем случает будет $_pls['tv.image'] и посмотрите синтаксис.
В вашем случает будет $_pls['tv.image'] и посмотрите синтаксис.
{$_modx->runSnippet("!phpthumbon@PropertySet", [
"input" => "/assets/images/"~$_pls['tv.image'],
"options" => "w=255&h=180&zc=1"
])}
Точно, это же плейсхолдер. Спасибо большое!
{$_modx->runSnippet("!phpthumbon@PropertySet", ["input" => "/assets/images/{$_pls["tv.image"]}","options" => "w=255&h=180&zc=1", "showLog"=>1])}
Подскажите, как это решить?Для начала читать документацию, проще будет.
Можно как-то так:
{set $image = 'phpthumbon'| snippet:[
'includeTV' => 'image',
'input' => example.com/$image,
'options' => 'w=255&h=180&zc=1',
'alt' => $alias
]}
{'!pdoPage'| snippet : [
'parents' => 2,
'tpl' => '@INLINE <img src="{$image}"/>',
'limit' => 10
]}
то еще велосипед, но должен работать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.