Каталоги поставщиков

Как убрать из YML-фида товары с available="false"

2026-06-29
Задача

В YML часть товаров отмечена атрибутом available="false". Эти позиции должны исчезнуть из результата, а доступные товары остаться.

Короткий ответ

Поставьте условие экспорта на offer: проще всего @available до преобразований равно true. Если поставщик присылает только true/false, можно наоборот задать @available не равно false. Регулярное выражение ^(true|1|yes)$ нужно только когда допустимых вариантов несколько.

Как сделать в Eofferix

  1. В XML/YML-снапшоте выберите повторяющийся узел offer.

  2. Откройте настройки узла.

    Открытие настроек offer
    Анимация показывает открытие настроек повторяющегося товарного узла.
  3. Способ 1: в Условиях выгрузки выберите поле @available, режим До преобразований, условие Равно, значение true.

    Условие экспорта
    Это один из вариантов настройки условия; остальные варианты добавлять не нужно.
  4. Способ 2: если поставщик всегда пишет только true/false, можно выбрать @available Не равно false.

    Условие экспорта
    Это один из вариантов настройки условия; остальные варианты добавлять не нужно.
  5. Способ 3: если наличие может быть записано как true, 1 или yes, используйте регулярное выражение ^(true|1|yes)$ (находит значение, которое целиком равно одному из этих вариантов).

    Условие экспорта
    Это один из вариантов настройки условия; остальные варианты добавлять не нужно.

Было / стало

Было

исходные данные
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-2001" available="true">
        <name>Лампа Ладога</name>
        <categoryId>101</categoryId>
        <price>24.90</price>
      </offer>
      <offer id="YML-2002" available="false">
        <name>Кресло Волга</name>
        <categoryId>205</categoryId>
        <price>139.00</price>
      </offer>
      <offer id="YML-2003" available="true">
        <name>Полка Нева</name>
        <categoryId>101</categoryId>
        <price>16.40</price>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Стало

результат
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-2001" available="true">
        <name>Лампа Ладога</name>
        <categoryId>101</categoryId>
        <price>24.90</price>
      </offer>
      <offer id="YML-2003" available="true">
        <name>Полка Нева</name>
        <categoryId>101</categoryId>
        <price>16.40</price>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Обрабатывайте данные быстрее с Eofferix

Создайте бесплатный аккаунт, чтобы автоматизировать каталоги и прайс-листы под ваши правила.

Зарегистрироваться