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.
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.
Antworten:
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/
Methode 1: Importieren Sie Bilder vom lokalen Server
Laden Sie auf dem Magento-Server die Bilddateien in den
pub/media/import
Ordner 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.
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
, oderadditional_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.
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
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
- Laden Sie die zu importierenden Bilder in den angegebenen Ordner auf dem externen Server hoch.
In den CSV - Daten, betritt die volle URL für jede Bilddatei in der richtigen Spalte von Bildtyp (
base_image
,small_image
,thumbnail_image
, oderadditional_images
).http://example.com/images/image.jpg
Befolgen Sie die Anweisungen zum Importieren der Daten.
- http://docs.magento.com/m2/ce/user_guide/system/data-import-product-images.html
http://example.com/images/image.jpg
wird der Bildname wie folgt gespeichert: httpexamplecomimagesimage.jpg
Dies kann nicht richtig sein?
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/