Jump to content


Photo
- - - - -

Настройка Выгрузки Картинки Для Яндекс.маркет (Yml) -

yml yml экспорт image

1 reply to this topic

#1 demfi

demfi
  • JBZoo User (rus)
  • User rate: 1.3
  • posts: 178
  • topics: 51

Posted 06 April 2022 - 07:04

Всем доброго дня.
 
Задача: выгружать по одной нужной картинке в 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.


  • 3

#2 usersJbzoo

usersJbzoo
  • JBZoo User (rus)
  • User rate: 2.5
  • posts: 201
  • topics: 39

Posted 09 February 2023 - 13:15

Еще вариант

 /public_html/media/zoo/applications/jbuniversal/templates/_ваш_каталог_/renderer/item/ymlexport.php

 

 

 
        <?php if ($this->checkPosition('image')) {
            if (is_array($item_params['picture'][$item->id])) {
                foreach ($item_params['picture'][$item->id] as $image) {
                    echo '<picture>' . $image . "</picture>\n ";
                    break;
                }
            } else {
                echo '<picture>' . $item_params['picture'][$item->id] . '</picture>';
            }
        } ?>

  • 0





Also tagged with one or more of these keywords: yml, yml экспорт, image

Click to return to top of page in style!