как вывести изображения дочерних ресурсов
добрый день,
Ребят, всю голову сломал уже — просто, видать, не понимаю многого.
После парсинга старого сайта пришлось все фотографии со старых страниц сайта вывести как массив из путей к картинкам в TV параметр (с разделителем зпт) в новом сайте.
сейчас пытаюсь вытащить все эти картинки путем использования pdotools, но никак не могу придумать, как их вытащить все и разбить, чтобы pdotools обернул их в код.
не знаю — правильно ли я описал, то, в чем не могу разобраться, по этому сделаю скриншотом:
joxi.ru/vAWYjK0U45vamW
слева ресурсы у которых тв с картинками, вот из них всех хочу вытянуть все эти пути, обернутыми в хотябы <img src=
Прошу прощения, если вопрос глуп, но я пытался писать обработчик на php (в силу скудности знаний php вышло тупо и тяжело и пропускает пустые и не сжимает изображения)
Заранее спасибо за совет.
Ребят, всю голову сломал уже — просто, видать, не понимаю многого.
После парсинга старого сайта пришлось все фотографии со старых страниц сайта вывести как массив из путей к картинкам в TV параметр (с разделителем зпт) в новом сайте.
сейчас пытаюсь вытащить все эти картинки путем использования pdotools, но никак не могу придумать, как их вытащить все и разбить, чтобы pdotools обернул их в код.
не знаю — правильно ли я описал, то, в чем не могу разобраться, по этому сделаю скриншотом:
joxi.ru/vAWYjK0U45vamW
слева ресурсы у которых тв с картинками, вот из них всех хочу вытянуть все эти пути, обернутыми в хотябы <img src=
Прошу прощения, если вопрос глуп, но я пытался писать обработчик на php (в силу скудности знаний php вышло тупо и тяжело и пропускает пустые и не сжимает изображения)
Заранее спасибо за совет.
Комментарии: 3
Сниппет getImages:
Вызов на странице самого ресурса:
Вызов в чанке pdoResources (естественно, должен стоять параметр &includeTVs=`tv_album`):
Чанк image-tpl:
Для сжатия поставьте pThumb и тогда так:
<?php
$imgs = explode(',', $input);
foreach($imgs as $path){
$out .= $modx->getChunk($tpl, array('path'=>$path, 'alt'=>$alt));
}
return $out;
Вызов на странице самого ресурса:
[[getImages?
&input=`[[*tv_album]]`
&tpl=`image-tpl`
&alt=`[[*pagetitle]]`
]]
Вызов в чанке pdoResources (естественно, должен стоять параметр &includeTVs=`tv_album`):
[[getImages?
&input=`[[+tv.tv_album]]`
&tpl=`image-tpl`
&alt=`[[+pagetitle]]`
]]
Чанк image-tpl:
<img src="[[+path]]" alt="[[+alt]]" />
Для сжатия поставьте pThumb и тогда так:
<img src="[[+path:pthumb=`&w=150&h=100`]]" alt="[[+alt]]" />
Огромное спасибо) Я битый день велосипед изобретал)
От себя добавлю, чтоб не пропускало пустые (мб и тяжело, но тем не менее)
вызов в чанке pdoResources сделать можно таким:
От себя добавлю, чтоб не пропускало пустые (мб и тяжело, но тем не менее)
вызов в чанке pdoResources сделать можно таким:
[[+tv_album:is=``:then=``:else=`
[[getImages?
&input=`[[+tv_album]]`
&tpl=`kolhoz_image-tpl`
&alt=`[[+pagetitle]]`
]]
`]]
Лучше уж тогда в сниппете ):
<?php
if(empty($input)) return '';
$imgs = explode(',', $input);
foreach($imgs as $path){
if(!empty($path)) $out .= $modx->getChunk($tpl, array('path'=>$path, 'alt'=>$alt));
}
return $out;
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.