製品イメージをMagento 2に一括インポートする方法を教えてください。


7

ストアをバージョン1.7.2から2.0.2に移動します。

商品が200個に満たないため、CSVファイルを使用してエクスポート/インポートしますが、商品の画像をインポートする方法を教えてください。


>インポートプロセス中にフォルダーへのパスが指定されている限り、Magentoサーバー上の別のフォルダーを使用できます。私はそうしようとしていますが、正しい方法が見つかりませんでした。自分でファイルを並べ替えたい。すべてのファイルはTO100.2240.png TO120.6255.pngなどで始まります。そのため、magento2にインポートするときに、それらをフォルダーTO100 / TO120 /に配置したいと思います。magentoは、/ t / 0 /フォルダー内のファイルを配置します。したがって、すべてのファイルは同じフォルダー4000以上の画像にあります。のように:pub / media / catalog / labels / to100 files start to100 pub / media / catalog / labels / to120 files start to120ワットは正確なパッドですか?
geertDL

新しい質問がある場合は、[ 質問する ]ボタンをクリックして質問してください。コンテキストの提供に役立つ場合は、この質問へのリンクを含めます。- レビューから
Rama Chandran M

回答:


8

Magento 2は、製品画像に同じフォルダー構造を使用します。あなたのCSVは、商品画像の属性が含まれていると仮定すると、あなたは、単にコピーすることができます/media/catalog//pub/media/catalog/


1
十分ではない。少なくともMagento 2.1.5ではできません。/ media / catalog / product /全体を/ pub / media / importにコピーしてから、CSVリストのインポートを実行する必要があります。イメージをインポートするためのパスを指定することを忘れないでください:/ pub / media / import
Alain Banutz

17

方法1:ローカルサーバーから画像をインポートする

  1. Magentoサーバーで、画像ファイルをpub/media/importフォルダーにアップロードします。これは、製品イメージをインポートするためのデフォルトのフォルダーです。

    [magento installation folder]/pub/media/import 

    インポートプロセス中にフォルダーへのパスが指定されている限り、Magentoサーバー上の別のフォルダーを使用できます。

  2. CSVデータに、画像の種類(に従って正しい行に、SKUによって、正しい列にインポートする各画像ファイルの名前を入力してbase_imagesmall_imagethumbnail_image、またはadditional_images)。

    デフォルトのインポートフォルダー(/pub/media/import)内の画像の場合、CSVデータのファイル名の前にパスを含めないでください。

    CSVファイルには、sku列と関連する画像列のみを含める必要があります。

    デフォルトの場所からのCSVインポート画像
                                            デフォルトの場所からのCSVインポート画像

  3. 指示に従ってデータをインポートします。

    インポートするファイルを選択した後、画像ファイルディレクトリの後に相対パスを入力します。

    /pub/media/import

    画像ファイルのディレクトリ
                                                            画像ファイルのディレクトリ

    1つのSKUに複数の画像をインポートする場合は、SKUの下に空白行を挿入し、適切な列に追加の画像ファイル名を入力します。追加の行は、親SKUに属すると理解されます。

方法2:外部サーバーから画像をインポートする

  1. インポートする画像を外部サーバーの指定フォルダーにアップロードします。
  2. CSVデータに、画像の種類(によって正しい列内の各画像ファイルの完全なURLを入力してbase_imagesmall_imagethumbnail_image、またはadditional_images)。

    http://example.com/images/image.jpg
  3. 指示に従ってデータをインポートします。

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


1
この回答は、はるかに詳細で役に立ちます。それは間違いなく正解IMOとして選択する必要があります。
colefner

これがドキュメントに記載されているように機能しない理由を誰かが知っていますか?私はここで、これに関連する質問を掲載している:magento.stackexchange.com/questions/189344/...
robgt

外部URLから画像をインポートすると、画像名がそのままhttp://example.com/images/image.jpg保存されます。たとえば、画像名は次のように保存されます。httpexamplecomimagesimage.jpgこれは正しくありませんか?
ジュリアーノバルガス

0

次のコードは、メインイメージと追加イメージを設定します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;
}

詳細な説明と絶対的なメディアパスについては、ここをクリックしてください。 http://www.pearlbells.co.uk/code-snippets/import-product-images-magento-2-programmatically/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.