Fenom, вызов сниппета в сниппете

Перехожу на fenom и столкнулся с вопросом, никак не догоню.
Есть вызов 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, с ним тоже полный путь не пишет.
Подскажите, как это решить?
Александр
04 декабря 2017, 15:09
modx.pro
2
4 176
0

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

Андрей
04 декабря 2017, 18:39
+1
Потому что для плейсхолдеров есть специальная переменная $_pls

В вашем случает будет $_pls['tv.image'] и посмотрите синтаксис.

{$_modx->runSnippet("!phpthumbon@PropertySet", [
    "input" => "/assets/images/"~$_pls['tv.image'], 
    "options" => "w=255&h=180&zc=1"
])}
    Александр
    04 декабря 2017, 18:55
    0
    Точно, это же плейсхолдер. Спасибо большое!
    {$_modx->runSnippet("!phpthumbon@PropertySet", ["input" => "/assets/images/{$_pls["tv.image"]}","options" => "w=255&h=180&zc=1", "showLog"=>1])}
    Konstantin
    04 декабря 2017, 18:49
    1
    +2
    Подскажите, как это решить?
    Для начала читать документацию, проще будет.
    Можно как-то так:
    {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
     ]}
    то еще велосипед, но должен работать.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3