Всем доброго дня.
Задача: выгружать по одной нужной картинке в YML файл.
Решение:
Стандартно в
/public_html/media/zoo/applications/jbuniversal/templates/_ваш_каталог_/renderer/item/ymlexport.php
через
foreach ($item_params['picture'][$item->id] as $image)....
выгружаются все картинки, это мне не подходит.
1. В нужном типе материала настраиваем "Yml Export" шаблон: вносим позицию "image" (JBZoo Image) и размещаем в нём фото.
2. в файле
/public_html/media/zoo/applications/jbuniversal/elements/jbimage/jbimage.xml
в блок
<param name="template" .... вносим: <option value="custom">custom</option>
3. создаем файл /public_html/media/zoo/applications/jbuniversal/elements/jbimage/tmpl/jbimage-custom.php
(содержимое можно скопировать из jbimage-default.php)
в jbimage-custom.php вносим:
echo $image->url; // вывод полного урл картинки
4. в /public_html/media/zoo/applications/jbuniversal/templates/_ваш_каталог_/renderer/item/ymlexport.php заменяем блок с foreach на:
if ($this->checkPosition('image')) { echo '<picture>'.trim($this->renderPosition('image')).'</picture>'; }
5. В нужном типе материала (см. п.1) переходим в "Yml Export", в позиции "image" видим в элементе JBZoo Image появился Шаблон: Пользовательский (это наш custom из п.2), выбираем его.
6. Делаем выгрузку в YML файл и проверяем результат.
Есть информация, что подход из п.2 и 3 работает также с JBZoo Gallery.