Вывод изображений TV MIGX через FENOM
Друзья, изучаю FENOM и сразу сталкнулся с неприятной историей с путями к рисункам, есть TV MIGX indexgroup,
там используется рисунок, во кладках формы прописано так, использую простой TV с прописаным источником файлов от корня сайта /img/. в этой папке все остальные каталоги рисунков и рисунки.
[[+image:phpthumbsup=`w=240&h=240&zc=1&q=100`]]
Результат от корня с папкой IMG, порядок:
/phpthumbsup/w/240/h/240/zc/1/q/100/src/img/catalog/Layer1.png
Но если вывожу через FENOM, без сниппета getImageList
/phpthumbsup/w/240/h/240/zc/1/src/catalog/Layer1.png
base href прописан на странице
Почему так происходит? Как это решить?
там используется рисунок, во кладках формы прописано так, использую простой TV с прописаным источником файлов от корня сайта /img/. в этой папке все остальные каталоги рисунков и рисунки.
{"field":"image","caption":"Фото","inputTV":"image"},
Если вывожу обычным способом через парсер MODx как раньше, то все хорошо.[[getImageList?
&tvname=`indexgroup`
&tpl=`test`
]]
Чанк test[[+image:phpthumbsup=`w=240&h=240&zc=1&q=100`]]
Результат от корня с папкой IMG, порядок:
/phpthumbsup/w/240/h/240/zc/1/q/100/src/img/catalog/Layer1.png
Но если вывожу через FENOM, без сниппета getImageList
{set $indexgroup = json_decode(1 | resource : 'indexgroup', true)}
{foreach $indexgroup as $item}
{$item.image | phpthumbsup : 'w=240&h=240&zc=1'}
{/foreach}
то результат такой, без корневой папки IMG:/phpthumbsup/w/240/h/240/zc/1/src/catalog/Layer1.png
base href прописан на странице
Почему так происходит? Как это решить?
Комментарии: 18
Просто item.image выведет название файла, без пути?
{foreach $indexgroup as $item}
{$item.image}
{/foreach}
Нужно дописывать путь к источнику файлов. И вот это — phpthumbsup стоит поменять на что нибудь более современное =)
Если просто {$item.image} выводит тоже неполный путь: catalog/Layer1.png
На что например поменять? Это самый быстрый снипет из существующих аналогов и нет ошибок в консоли как у других, phpthumbOn или Of
На что например поменять? Это самый быстрый снипет из существующих аналогов и нет ошибок в консоли как у других, phpthumbOn или Of
На что например поменять? Это самый быстрый снипет из существующих аналогов и нет ошибок в консоли как у других, phpthumbOn или OfДалеко не самый быстрый — Thumb War, и ужасные пути к картинкам получаются.
Давно использую — pThumb.
Надо попробовать как то так:
{foreach $indexgroup as $item}
<img src="img/{$item.image | phpthumbsup : 'w=240&h=240&zc=1'}"> // возможно ещё слеш в начале надо
{/foreach}
Спасибо, так сразу попробовал img/{$item.image… :) не получается. img не попадает в снипет так.
В общем почему то при вызове снипета как модификатор через FENOM без снипетов getImagelist и других, в снипет phpthumbsup не попадает корень сайта, или просто он его не учитывает. Попробую настройки самого снипета поковырять.
Пока сделал так для каждой вставки рисунка.
В общем почему то при вызове снипета как модификатор через FENOM без снипетов getImagelist и других, в снипет phpthumbsup не попадает корень сайта, или просто он его не учитывает. Попробую настройки самого снипета поковырять.
Пока сделал так для каждой вставки рисунка.
{'phpthumbsup' | snippet : [
'input' => /img/'~$item.image,
'options' => '&w=240&h=240&zc=1&f=png',
]
}
Под рукой нет сейчас сайта попробовать, а если вот так сделать:
{'/img/'~$item.image | phpthumbsup : 'w=240&h=240&zc=1'}
Попадёт img в путь или нет?
Спасибо но нет, тоже пробовал, результат /img/phpthumbsup/w/240/h/240/zc/1/src/catalog/Layer1.png
После src нет папки img.
А должно быть так /phpthumbsup/w/240/h/240/zc/1/f/png/src/img/catalog/Layer1.png
После src нет папки img.
А должно быть так /phpthumbsup/w/240/h/240/zc/1/f/png/src/img/catalog/Layer1.png
Вот тут есть совет заносить сначала путь в переменную — https://modx.pro/help/8962#comment-107263, по идее должно сработать.
С другой стороны раз вызов через сниппет работает, то и пусть работает, по факту то же самое получаем =)
С другой стороны раз вызов через сниппет работает, то и пусть работает, по факту то же самое получаем =)
да читал этот пост, так же как я сделал человек с указанием пути через опцию INPUT, думаю можно снипет getimagelist использовать но с синтаксисом Fenom, думаю тоже будет работать без проблем с путями, сейчас попробую.
Fenom и getImageList (MIGX) могут дружить — ещё есть параметр JsonPlaceholder, но никогда им не пользовался, не знаю будет ли работать правильно.
Вообще не понимаю,
Вызываю
[[+image]] так выводит
{$image} так нет :(
Вызываю
{'!getImageList' | snippet : [
'tvname' => 'indexgroup',
'tpl' => 'test'
]}
чанк test[[+image]] так выводит
{$image} так нет :(
В чанке getImageList феном не будет работать, только стандартный парсер.
понятно, спасибо.
Сделал так же по примеру
Сделал так же по примеру
{'!getImageList' | snippet : [
'tvname' => 'indexgroup',
'toJsonPlaceholder' => 'row',
]}
{var $banner = json_decode('row' | placeholder, true)}
{var $banner = $banner[0]}
{$banner['image'] | phpthumbsup : 'w=240&h=240&zc=1'}
Работает, и путь в порядке, НО КАК СДЕЛАТЬ ЦИКЛ? Только одна итерация выводится.
Разобрался, вот так в цикле
Думаю все варианты перебрали.
Эх жаль, что с путями беда для phpthumbOn или phpthumbsUp если без сниппета просто Foreach пройти.
{'!getImageList' | snippet : [
'tvname' => 'indexgroup',
'toJsonPlaceholder' => 'row'
]}
{var $banner = json_decode('row' | placeholder, true)}
{foreach $banner as $cat}
{$cat['image'] | phpthumbsup : 'w=240&h=240&zc=1'}
{/foreach}
С путями порядок, но все таки используется сниппет Getimagelist.Думаю все варианты перебрали.
Эх жаль, что с путями беда для phpthumbOn или phpthumbsUp если без сниппета просто Foreach пройти.
<img src="{('img/'~$item.image) | phpthumbsup : 'w=240&h=240&zc=1'}">
ООООО!!! Супер, благодарю! Так работает, и пути правильно! Круглые скобки, даже не видел таких примеров в Fenom :)
Круглые скобки там, по большому счёту, излишни, просто визуально ограничивают строку с конкатенацией. Без них так же будет работать.
К сожалению нет, без скобок пути не правильные, корневой каталог исчезает.
Столкнулся с аналогичной проблемой. Если правильно понял, то тут пишут, что в конфигурации MIGX поля (во Вкладки формы) нужно правильно указать источник файлов. Пример:
[{"caption":"Image", "fields":
[
{"field":"image","caption":"Изображение","inputTVtype":"image","sources":"[{\"MIGX_id\":\"1\",\"context\":\"web\",\"sourceid\":\"4\"}]"}
]
}]
Но что-то у меня с этим не срослось. Если sourceid меняю на нужный, то все равно пути правильные не отображаются. А что значит MIGX_id я что-то пока не понимаю. Видимо, и тут что-то нужно изменить. Если кто знает, подскажите, пожалуйста, что означает MIGX_id в этом коде. Про контекст и айди источника файлов, вроде понятно.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.