Wie importiere ich Produktbilder in großen Mengen in Magento 2?


7

Ich verschiebe meinen Shop von Version 1.7.2 auf Version 2.0.2.

Da ich weniger als 200 Produkte habe, werde ich sie mithilfe von CSV-Dateien exportieren / importieren. Ich möchte jedoch wissen, wie Produktbilder importiert werden.


> Sie können einen anderen Ordner auf dem Magento-Server verwenden, solange der> Pfad zum Ordner während des Importvorgangs angegeben wird. Ich versuche es, habe aber nicht den richtigen Weg gefunden. Ich möchte meine Dateien selbst sortieren. Alle Dateien beginnen mit TO100.2240.png TO120.6255.png und so weiter. Ich möchte sie also in die Ordner TO100 / TO120 / legen, wenn ich sie jetzt in magento2 importiere. Magento legt die Dateien im Ordner / t / 0 / ab. Alle Dateien befinden sich also im selben Ordner mit mehr als 4000 Bildern. wie: pub / media / katalog / etiketten / to100 dateien starten bis100 pub / medien / katalog / etiketten / to120 dateien starten bis120 wat ist das genaue pad dann?
geertDL

Wenn Sie eine neue Frage haben, fragen Sie es bitte durch Klicken Frage stellen Taste. Fügen Sie einen Link zu dieser Frage hinzu, wenn dies zur Bereitstellung des Kontexts beiträgt. - Aus dem Rückblick
Rama Chandran M

Antworten:


8

Magento 2 verwendet dieselbe Ordnerstruktur für Produktbilder. Angenommen , Ihre CSV enthält das Produktbild Attribut, können Sie einfach kopieren /media/catalog/zu/pub/media/catalog/


1
Nicht genug. Zumindest nicht in Magento 2.1.5. Sie müssen das gesamte / media / catalog / product / nach / pub / media / import kopieren und dann den CSV-Listenimport ausführen. Vergessen Sie nicht, den Pfad für den Import von Bildern anzugeben: / pub / media / import
Alain Banutz

17

Methode 1: Importieren Sie Bilder vom lokalen Server

  1. Laden Sie auf dem Magento-Server die Bilddateien in den pub/media/importOrdner hoch. Dies ist der Standardordner zum Importieren von Produktbildern.

    [magento installation folder]/pub/media/import 

    Sie können einen anderen Ordner auf dem Magento-Server verwenden, solange der Pfad zum Ordner während des Importvorgangs angegeben wird.

  2. In den CSV - Daten geben Sie den Namen jede Bilddatei auf der richtigen Zeile durch SKU importiert werden, und in der richtigen Spalte nach Bildtyp ( base_image, small_image, thumbnail_image, oder additional_images).

    Fügen Sie für Bilder im Standardimportordner ( /pub/media/import) den Pfad vor dem Dateinamen nicht in die CSV-Daten ein.

    Die CSV-Datei darf nur die SKU-Spalte und die zugehörigen Bildspalten enthalten.

    CSV-Importbild vom Standardspeicherort
                                            CSV-Importbild vom Standardspeicherort

  3. Befolgen Sie die Anweisungen zum Importieren der Daten.

    Geben Sie nach Auswahl der zu importierenden Datei den relativen Pfad für das Bilddateiverzeichnis ein:

    /pub/media/import

    Bilddateiverzeichnis
                                                            Bilddateiverzeichnis

    Wenn Sie mehrere Bilder für eine einzelne SKU importieren, fügen Sie eine leere Zeile unter der SKU ein und geben Sie die zusätzlichen Bilddateinamen in die entsprechenden Spalten ein. Es wird davon ausgegangen, dass die zusätzlichen Zeilen zum übergeordneten Sku gehören.

Methode 2: Importieren von Bildern vom externen Server

  1. Laden Sie die zu importierenden Bilder in den angegebenen Ordner auf dem externen Server hoch.
  2. In den CSV - Daten, betritt die volle URL für jede Bilddatei in der richtigen Spalte von Bildtyp ( base_image, small_image, thumbnail_image, oder additional_images).

    http://example.com/images/image.jpg
  3. Befolgen Sie die Anweisungen zum Importieren der Daten.

- http://docs.magento.com/m2/ce/user_guide/system/data-import-product-images.html


1
Diese Antwort ist viel ausführlicher und hilfreicher. Es sollte definitiv als die richtige Antwort IMO gewählt werden.
Colefner

Weiß jemand, warum dies nicht wie in den Dokumenten beschrieben funktioniert? Ich habe eine diesbezügliche Frage hier gepostet: magento.stackexchange.com/questions/189344/…
robgt

Beim Importieren eines Bildes von einer externen URL wird der Bildname so gespeichert, wie er ist, z. B. http://example.com/images/image.jpgwird der Bildname wie folgt gespeichert: httpexamplecomimagesimage.jpgDies kann nicht richtig sein?
Juliano Vargas

0

Der folgende Code setzt Haupt- und Zusatzbilder Magento 2

if ($mainImage) {
    $image_directory = $mediaPath . DS . 'data' . DS . $mainImage;
    if (file_exists($image_directory)) {
        $product->setMediaGallery(array('images' => array(), 'values' => array()))//media gallery initialization
            ->addImageToMediaGallery($image_directory, array('image', 'thumbnail', 'small_image'), false, false);//assigning image, thumb and small image to media gallery
    } 
    else {
        $image_directory = $mediaPath . 'data' . DS . 'comingsoon.jpg';
        $product->setMediaGallery(array('images' => array(), 'values' => array()))//media gallery initialization
            ->addImageToMediaGallery($image_directory, array('image', 'thumbnail', 'small_image'), false, false);
    }
}

// additional images
if ($importProduct[29] != '') {
    $addImages = explode(",", trim($importProduct[29]));
    foreach ($addImages as $additional_image) {
        $image_directory = $mediaPath .DS.'data'.DS. trim($additional_image);
        if (file_exists($image_directory)) {
            $product->addImageToMediaGallery($image_directory, null, false, false);
        } 
        else {
            $image_directory = $mediaPath . 'data' . DS . 'comingsoon.jpg';
            $product->addImageToMediaGallery($image_directory, null, false, false);
        }
    }
    echo 'Additional images for product ' . $product->getName() . ' ' . $product->getId() . ' imported successfully' . PHP_EOL;
}

Bitte klicken Sie hier für eine detaillierte Erklärung und einen absoluten Medienpfad. http://www.pearlbells.co.uk/code-snippets/import-product-images-magento-2-programmatisch/

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.