Impor Produk dan Gambar secara Massal di Magento

Banyak klien kami yang mendesain ulang e-commerce atau memindahkan e-commerce lama mereka ke platform Magento baru, ingin mengekspor produk dari e-commerce lama (lama) mereka ke yang baru. Di bawah ini kami menguraikan langkah-langkah untuk mengimpor data produk dan juga mengimpor gambar produk secara massal.

Mengimpor data produk

Pertama, Anda perlu mengetahui format data yang diperlukan oleh Magento untuk impor. Cara paling sederhana untuk melakukan ini adalah membuat sampel produk di Magento dan mengekspor semua produk. Caranya:

  1. Pergi ke System > Import/Export > DataFlow – Profiles
  2. Edit Export All Products profile dan Run Profile

File CSV yang diekspor akan ditempatkan di folder /var/ekspor. Anda perlu FTP ke hosting Magento Anda untuk mengambil file.

Buka file ini di aplikasi spreadsheet. Saya menggunakan OpenOffice Calc karena CSV bisa disimpan sebagai UTF-8 yang merupakan syarat yang diperlukan oleh Magento. Baris pertama menunjukkan nama field produk yang diperlukan oleh Magento. Anda akan membutuhkan semua field ini , bahkan jika nilainya kosong. Salin dan tempel kolom data dari CSV yang diekspor dari inventaris lama Anda ke Magento CSV. Anda tidak membutuhkan semua kolom, jika ragu biarkan saja dengan nilai yang sama dengan produk sampel Anda. Field yang harus Anda miliki adalah:

  • sku – ini adalah ID produk yang unik dan digunakan oleh Magento untuk mengalokasikan data ke produk yang benar dalam basis datanya. Impor dengan sku yang sama akan memperbarui data. Nama produk yang dikonversi menjadi huruf kecil dan dengan spasi diganti dengan tanda hubung bisa dijadikan sku.
  • type – wajib diatur. Saya menggunakan “simple”.
  • category_ids – mengganti ID kategori lama ke ID kategori baru. Cek ID kategori baru di Catalog > Manage Categories – ID akan kelihatan di bagian atas jika Anda sudah klik kategorinya. Jika Anda memiliki banyak kategori, Anda dapat mengekspornya dari phpMyAdmin menggunakan kueri SQL berikut:
    SELECT ccev.entity_id AS categoryID, cce.path, ccev.value FROM catalog_category_entity cce JOIN catalog_category_entity_varchar ccev ON ( cce.entity_id = ccev.entity_id )  GROUP BY ccev.entity_id ORDER BY path
    Saya kemudian menempatkan nilai-nilai ini dalam spreadsheet yang terpisah, dan secara manual memasukkan ID kategori lama yang sesuai di kolom berikutnya. Sekarang saya bisa menggunakan fungsi LOOKUP Calc untuk memetakan setiap ID kategori lama ke yang baru di Magento CSV. Ini menghemat banyak waktu ketika melakukan perubahan pada alokasi kategori, dan juga mencegah saya harus secara manual memasukkan ID kategori baru untuk setiap produk.
  • image, small_image, thumbnail – biarkan kosong. Lebih baik mengimpor gambar secara terpisah (lihat di bawah) karena Magento tidak akan mengimpor produk jika tidak dapat menemukan gambar yang direferensikan (misalnya jika nama file gambar salah).

Setelah Anda memiliki semua data produk di kolom yang benar, simpan spreadsheet sebagai CSV, pastikan untuk menggunakan ‘quotes‘ di setiap field teks dan simpan dengan format UTF-8.

Sekarang Anda dapat mengimpor data produk dengan menjalankan Import All Products DataFlow profile. Unggah CSV Anda yang sudah diedit dan jalankan profil. Cukup lambat, silahkan ditunggu.

Mengimpor gambar produk

Setelah produk Anda ada di database Magento, Anda dapat melakukan impor terpisah untuk melampirkan gambar Anda ke produk.

  1. Pertama, masukkan gambar produk Anda ke folder /media/impor lewat FTP. Magento akan mengubah ukuran gambar Anda ke dimensi yang benar saat impor, jadi cukup unggah gambar kualitas terbaik yang Anda miliki untuk setiap produk.
  2. Buat spreadsheet baru dengan kolom berikut: sku, image.
  3. Salin kolom sku dari CSV data produk Anda.
  4. Salin nama file gambar dari data lama yang sudah diekspor ke kolom gambar. Nama file harus memiliki format:
    /<namafile>.jpg

    (perhatikan slashnya).

  5. Simpan CSV sebagai import-product-images.csv di UTF-8.
  6. Buat profil DataFlow baru yang disebut Import Product Images dengan pengaturan berikut:
    • Entity Type: Products
    • Direction: Import
    • Data Transfer: Interactive
    • Type: CSV/Tab Separated
    • Field Mapping: sku > sku, image > image
  7. Unggah import-product-images.csv Anda dan Run Profil.

Voila! Produk Anda sekarang sudah memiliki gambar.

Catatan

Magento DataFlow tidak memiliki pesan kesalahan yang sangat membantu, misalnya ada pemberitahuan “Image not found” tetapi sistem tidak memberi tahu Anda gambar mana yang tidak ditemukan. Pesan “Product type not set” mungkin karena field teks tidak disertai dengan tanda kutip.

Menghapus gambar yang duplikat

 

Setiap kali Anda melakukan impor gambar produk, Magento menyalin gambar dari /media/import ke subdirektori folder /media/catalog/product. Hal itu tidak menggantikan gambar melainkan menambahkannya ke produk dan membuat salinan <filename>_2.jpg dll. Jadi setelah beberapa impor, Anda akan memiliki beberapa salinan dari setiap gambar di folder media Anda dan menggandakan gambar pada setiap produk . Anda dapat menghapus gambar duplikat dari data produk dengan skrip ini, dan menghapus gambar duplikat yang tidak digunakan dengan ekstensi ini. Namun, ketika mengimpor katalog beberapa kali, saya merasa cara ini lebih mudah untuk dilakukan:

  • Hapus folder /media/catalog/product.
  • Hapus referensi gambar produk di database Magento menggunakan SQL berikut:
    DELETE FROM catalog_product_entity_media_gallery
    DELETE FROM catalog_product_entity_media_gallery_value

Hati-hati! Lakukan hal ini untuk menghapus semua gambar produk dan import ulang lagi. Setelah Anda berhasil mengimpor semua gambar, Anda dapat dengan aman menghapus gambar di /media/import untuk meringankan ruang server.