Làm cách nào để nhập hình ảnh sản phẩm với số lượng lớn vào Magento 2?


7

Tôi đang chuyển cửa hàng của mình từ phiên bản 1.7.2 sang 2.0.2.

Vì tôi có ít hơn 200 sản phẩm, tôi sẽ xuất / nhập chúng bằng tệp CSV, tuy nhiên tôi muốn biết cách nhập hình ảnh sản phẩm.


> Bạn có thể sử dụng một thư mục khác trên máy chủ Magento, miễn là đường dẫn đến thư mục được chỉ định trong quá trình nhập. Tôi đang cố gắng để làm như vậy nhưng không tìm thấy cách chính xác. Tôi muốn tự sắp xếp các tập tin của tôi. Tất cả các tệp bắt đầu với TO100.2240.png TO120.6255.png, v.v. Vì vậy, tôi muốn đặt chúng vào các thư mục TO100 / TO120 / khi tôi nhập vào magento2 magento sắp xếp các tệp trong thư mục / t / 0 /. Vì vậy, tất cả các tệp trong cùng một thư mục hơn 4000 hình ảnh. như: tập tin pub / media / catalog / nhãn / to100 bắt đầu đến 100 tập tin pub / media / catalog / nhãn / to120 bắt đầu đến 120 wat là pad chính xác thì sao?
geertDL

Nếu bạn có một câu hỏi mới, vui lòng hỏi nó bằng cách nhấp vào nút Hỏi câu hỏi . Bao gồm một liên kết đến câu hỏi này nếu nó giúp cung cấp bối cảnh. - Từ đánh giá
Rama Chandran M

Câu trả lời:


8

Magento 2 sử dụng cấu trúc thư mục tương tự cho hình ảnh sản phẩm. Giả sử CSV của bạn chứa thuộc tính hình ảnh sản phẩm, bạn chỉ cần sao chép /media/catalog/vào/pub/media/catalog/


1
Không đủ. Ít nhất là không có trong Magento 2.1.5. Bạn phải sao chép toàn bộ / phương tiện / danh mục / sản phẩm / sang / quán rượu / phương tiện / nhập và sau đó chạy nhập danh sách CSV. Đừng quên chỉ định đường dẫn để nhập hình ảnh: / pub / media / import
Alain Banutz

17

Phương pháp 1: Nhập hình ảnh từ máy chủ cục bộ

  1. Trên máy chủ Magento, tải các tệp hình ảnh lên pub/media/importthư mục. Đây là thư mục mặc định để nhập hình ảnh sản phẩm.

    [magento installation folder]/pub/media/import 

    Bạn có thể sử dụng một thư mục khác trên máy chủ Magento, miễn là đường dẫn đến thư mục được chỉ định trong quá trình nhập.

  2. Trong dữ liệu CSV, nhập tên của mỗi tập tin hình ảnh để được nhập khẩu vào hàng đúng, bởi sku, và trong cột đúng theo loại hình ảnh ( base_image, small_image, thumbnail_image, hoặc additional_images).

    Đối với hình ảnh trong thư mục nhập mặc định ( /pub/media/import), không bao gồm đường dẫn trước tên tệp trong dữ liệu CSV.

    Tệp CSV phải chỉ bao gồm cột sku và các cột hình ảnh liên quan.

    Nhập hình ảnh CSV từ vị trí mặc định
                                            Nhập hình ảnh CSV từ vị trí mặc định

  3. Thực hiện theo các hướng dẫn để nhập dữ liệu.

    Sau khi chọn tệp để nhập, hãy nhập đường dẫn tương đối sau Thư mục tệp hình ảnh:

    /pub/media/import

    Hình ảnh thư mục tập tin
                                                            Hình ảnh thư mục tập tin

    Nếu nhập nhiều hình ảnh cho một sku, hãy chèn một hàng trống bên dưới sku và nhập tên tệp hình ảnh bổ sung vào các cột thích hợp. Các hàng bổ sung được hiểu là thuộc về sku cha.

Phương pháp 2: Nhập hình ảnh từ máy chủ bên ngoài

  1. Tải lên hình ảnh để được nhập vào thư mục được chỉ định trên máy chủ bên ngoài.
  2. Trong dữ liệu CSV, nhập URL đầy đủ cho mỗi tập tin hình ảnh trong cột đúng theo loại hình ảnh ( base_image, small_image, thumbnail_image, hoặc additional_images).

    http://example.com/images/image.jpg
  3. Thực hiện theo các hướng dẫn để nhập dữ liệu.

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


1
Câu trả lời này dài dòng hơn và hữu ích. Nó chắc chắn nên được chọn là câu trả lời đúng IMO.
colefner

Có ai biết tại sao điều này không hoạt động như được mô tả trong các tài liệu? Tôi đã đăng một câu hỏi liên quan đến này, ở đây: magento.stackexchange.com/questions/189344/...
robgt

Nhập hình ảnh từ url bên ngoài sẽ lưu tên hình ảnh, ví dụ như http://example.com/images/image.jpgsẽ lưu tên hình ảnh dưới dạng: httpexamplecomimagesimage.jpgđiều này không thể đúng?
Juliano Vargas

0

Đoạn mã sau thiết lập hình ảnh chính và bổ sung 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;
}

Xin bấm vào đây để giải thích chi tiết và đường dẫn phương tiện tuyệt đối. http://www.pearlbells.co.uk/code-snippets/import-product-images-magento-2-programmatically/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.