Pour ajouter une image à un produit, on utilise le nœud « image » :

<advancedimporter>
    <product supplier-reference="test">
        <name>test</name>
        <price>10</price>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-1.jpg</url>
            <legend>My image</legend>
        </image>
    </product>
</advancedimporter>

L'image peut provenir d'une URL comme dans le précédent exemple, ou du serveur lui-même :

<advancedimporter>
    <product supplier-reference="test">
        <name>test</name>
        <price>10</price>
        <image>
            <url>/modules/advancedimporter/views/img/media/01.jpg</url>
            <legend>My image</legend>
        </image>
    </product>
</advancedimporter>

Si vous avez essayé les deux exemples précédents, vous remarquerez que le produit a maintenant deux images. Si votre flux liste l'intégralité des images du produit, il est possible de supprimer les images manquantes avec l'attribut « remove-missing-images » :

<advancedimporter>
    <product supplier-reference="test" remove-missing-images="yes">
        <name>test</name>
        <price>10</price>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-1.jpg</url>
            <legend>My image</legend>
        </image>
    </product>
</advancedimporter>

Si vous souhaitez ajouter plusieurs images il faut répéter la balise image et non la balise url :

<advancedimporter>
    <product supplier-reference="test" remove-missing-images="yes">
        <name>test</name>
        <price>10</price>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-1.jpg</url>
            <legend>My image 1</legend>
        </image>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-2.jpg</url>
            <legend>My image 2</legend>
        </image>
    </product>
</advancedimporter>

Il est aussi possible de définir l'ordre des images avec la nœud « position » :

<advancedimporter>
    <product supplier-reference="test" remove-missing-images="yes">
        <name>test</name>
        <price>10</price>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-1.jpg</url>
            <legend>My image 1</legend>
            <position>2</position>
        </image>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-2.jpg</url>
            <legend>My image 2</legend>
            <position>1</position>
        </image>
    </product>
</advancedimporter>

Enfin il est possible de définir quelle image utiliser comme couverture :

<advancedimporter>
    <product supplier-reference="test" remove-missing-images="yes">
        <name>test</name>
        <price>10</price>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-1.jpg</url>
            <legend>My image 1</legend>
            <cover>0</cover>
        </image>
        <image>
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-2.jpg</url>
            <legend>My image 2</legend>
            <cover>1</cover>
        </image>
    </product>
</advancedimporter>

Optimisations

Le téléchargement des images peut être long et est souvent la cause de lenteur d'importation. Afin d'éviter de télécharger des images déjà présentes, il est recommandé d'utiliser l'attribut « mode » avec pour valeur « create ». Ainsi, seules les images déjà non existantes (url inconnnue) seront téléchargées.

<advancedimporter>
    <product supplier-reference="test" remove-missing-images="yes">
        <name>test</name>
        <price>10</price>
        <image mode="create">
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-1.jpg</url>
            <legend>My image 1</legend>
        </image>
        <image mode="create">
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-2.jpg</url>
            <legend>My image 2</legend>
        </image>
    </product>
</advancedimporter>

Images absentes

Si une image est absente, alors l'import du produit sera stoppé. Pour evité de stopper le processus, il est possible de rajouter un attribut :

<advancedimporter>
    <product supplier-reference="test" remove-missing-images="yes">
        <name>test</name>
        <price>10</price>
        <image ignore-not-found="yes">
            <url>http://v2.prestashopxmlimporter.madef.fr/fr/numbers/number-1.jpg</url>
            <legend>My image 1</legend>
        </image>
    </product>
</advancedimporter>