Catalogues fournisseurs

Comment retirer du YML les produits à prix zéro

2026-06-29
Objectif

Le fournisseur garde dans le YML des produits où price vaut 0 ou est vide. Ces articles ne doivent pas entrer dans l’import.

Réponse courte

Ajoutez des conditions d’export sur offer : price n’est pas vide et price est supérieur à 0. Si vous avez besoin d’une variante sans comparaison numérique, utilisez price non vide et price différent de 0. L’expression régulière ^(?:[1-9][0-9]*(?:[,.][0-9]+)?|0[,.][0-9]*[1-9][0-9]*)$ correspond à un nombre positif et sert seulement au contrôle strict du format.

Comment le faire dans Eofferix

  1. Dans le snapshot XML/YML, sélectionnez le noeud répété offer.

  2. Ouvrez les paramètres du noeud.

    Ouverture des paramètres offer
    L’animation montre l’ouverture des paramètres du noeud produit répété.
  3. Méthode 1, première ligne : ajoutez price Non vide.

    Condition d’export
    C’est une variante de condition ; les autres variantes ne sont pas à ajouter.
  4. Méthode 1, deuxième ligne : ajoutez price Supérieur à 0.

    Condition d’export
    C’est une variante de condition ; les autres variantes ne sont pas à ajouter.
  5. Méthode 2 : sans comparaison numérique, utilisez price Différent de 0 avec le contrôle Non vide.

    Condition d’export
    C’est une variante de condition ; les autres variantes ne sont pas à ajouter.
  6. Méthode 3 : utilisez l’expression régulière ^(?:[1-9][0-9]*(?:[,.][0-9]+)?|0[,.][0-9]*[1-9][0-9]*)$ (correspond à un nombre positif) pour contrôler strictement le format.

    Condition d’export
    C’est une variante de condition ; les autres variantes ne sont pas à ajouter.

Avant / après

Avant

données source
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-12001" available="true">
        <name>Lampe Elodie</name>
        <price>1290.00</price>
        <currencyId>EUR</currencyId>
      </offer>
      <offer id="YML-12002" available="true">
        <name>Fauteuil Martin</name>
        <price>0</price>
        <currencyId>EUR</currencyId>
      </offer>
      <offer id="YML-12003" available="true">
        <name>Etagere Loire</name>
        <price>
        </price>
        <currencyId>EUR</currencyId>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Après

résultat
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-12001" available="true">
        <name>Lampe Elodie</name>
        <price>1290.00</price>
        <currencyId>EUR</currencyId>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Traitez vos données plus vite avec Eofferix

Créez un compte gratuit pour automatiser catalogues et listes de prix selon vos règles.

S’inscrire