Multiple Store di Magento Commerce
Magento Commerce memungkinkan pemilik toko online mempunyai banyak toko (multiple store) dengan hanya satu instalasi atau satu web hosting. Dalam posting ini saya akan menjelaskan bagaimana cara melakukan hal tersebut. Dengan hanya memiliki satu instalasi untuk banyak toko online, kita memiliki benefit berupa kemudahan maintenance dan upgrade pada saat versi Magento Commerce yang baru sudah terbit. Disamping itu space hard disk yang dibutuhkan juga menjadi lebih hemat.
Benefit yang lebih besar dari multiple store di Magento diperoleh apabila kita hendak membuat sebuah mall virtual. Di dunia nyata kita sering mengunjungi sebuah mall, ITC, atau kompleks ruko dimana di dalamnya terdapat banyak toko dengan penjual yang berbeda. Di dunia maya, kita pun bisa punya semacam mall virtual. Misalnya mall virtual kita namai mallsaya.com, setiap penjual yang terdaftar dalam mallsaya.com bisa memiliki nama-nama seperti berikut ini:
- butik-bandung.mallsaya.com
- distro-jeans.mallsaya.com
- koleksi-perhiasan.mallsaya.com
OK mari kita mulai membuat multiple store di Magento Commerce. Sebelumnya kita mesti mempunyai instalasi Magento Commerce yang bisa kita akses sebagai administrator. Kita bisa menggunakan instalasi Magento Commerce dalam web hosting maupun komputer lokal. Dalam posting ini saya akan menggunakan konfigurasi dan instalasi Magento Commerce di komputer lokal.
Catatan: Untuk keperluan demo dan coba-coba, sebaiknya kita menggunakan instalasi Magento Commerce di komputer lokal. Dengan instalasi lokal kita bisa lebih cepat dan bebas melakukan banyak hal. Posting saya yang berjudul Install Magento di Komputer menjelaskan dengan detil teknis untuk melakukan hal ini.
Sebelum mulai, kita juga perlu memahami arsitektur multiple store dalam Magento Commerce. Posting saya yang berjudul Arsitektur Magento Commerce menjelaskan secara konseptual tingkatan hirarki Magento Commerce dan terminologi yang digunakan di dalamnya.
Skenario Multiple Store Magento Commerce
Begitu fleksibelnya Magento Commerce, membuatnya bisa dikonfigurasi dengan cara yang bermacam-macam. Agar fokus ke konfigurasi tertentu, untuk keperluan demo ini, kita akan membuat Magento Commerce menjalankan tiga toko online yaitu:
- toko-baju.local
- apparel-store.local
- toko-sepeda.local
toko-baju.com terdiri atas dua kategori besar yaitu anak dan dewasa, sehingga pelanggan bisa mengakses dua kategori besar tersebut dengan URL berikut ini:
- toko-baju.local/anak
- toko-baju.local/dewasa
Dalam Magento Commerce, dua kategori besar tersebut disebut dengan store view.
apparel-store.local adalah alias dari toko-baju.local. Bedanya, kalau toko-baju.local berbahasa Indonesia, apparel-store.local berbahasa Inggris. Karena toko-baju.local terdiri atas dua store view, demikian pula apparel-store.local, yang terdiri atas dua store view berikut ini:
- apparel-store.local/children, versi bahasa Inggris dari toko-baju.local/anak
- apparel-store.local/parent, versi bahasa Inggris dari toko-baju.local/dewasa
Shared Web Hosting dan Virtual Host
Konfigurasi Magento Commerce yang kita buat di dalam skenario mengharuskan kita memiliki multiple domain. Sedangkan instalasi Magento Commerce yang dibuat hanya satu, atau hanya memerlukan satu web hosting. Agar multiple domain bisa menggunakan satu web hosting yang sama, kita harus memahami konsep shared web hosting dan virtual host. Apache2, sebagai server web yang kita pakai untuk menjalankan Magento Commerce mendukung fitur virtual host ini.
Berikut ini konfigurasi shared web hosting dan virtual host dalam server yang menjalankan Magento Commerce untuk demo ini.
Shared Web Hosting
Dalam konfigurasi shared web hosting, Magento Commerce kita tempatkan dalam sistem berkas server Linux. Kita bisa menempatkan sistem berkas ini di mana saja sesuai dengan konvensi penempatan berkas hosting yang disukai. Dalam demo ini, saya menempatkan berkas-berkas Magento Commerce dalam /var/magento.
Virtual Host
Terdapat tiga nama domain berbeda yang akan mengakses shared web hosting Magento Commerce, sehingga kita perlu membuatkan tiga konfigurasi virtual host dalam Apache2.
Ikuti langkah-langkah berikut ini untuk membuat virtual host toko-baju.local.
-
Login dengan user root ke server virtual menggunakan jendela PuTTY.
-
Pindah direktori ke /etc/apache2/sites-available dengan mengetikkan perintah berikut:
cd /etc/apache2/sites-available
-
Salin berkas default ke berkas toko-baju dengan menggunakan perintah berikut:
cp default toko-baju
-
Sunting berkas toko-baju agar baris ke-2 hingga baris ke-16 isinya menjadi seperti berikut:
ServerName toko-baju.local
ServerAlias *.toko-baju.local
ServerAdmin webmaster@localhost
DocumentRoot /var/magento
Options FollowSymLinks
AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all -
Lakukan registrasi virtual host yang baru saja dibuat dengan mengetikkan perintah berikut:
a2ensite toko-baju
-
Reload Apache2 agar mengenali virtual host yang baru saja dibuat dengan mengetikkan perintah berikut:
/etc/init.d/apache2 reload
-
Buka /etc/hosts, lalu masukkan pemetaan antara alamat IP dengan toko-baju.local, seperti contoh berikut ini:
192.168.56.103 toko-baju.local
-
Dalam Windows (Vista atau 7), buka C:\Windows\System32\drivers\etc\hosts, lalu masukkan pemetaan antara alamat IP dengan toko-baju.local, seperti dalam langkah sebelumnya.
-
Buka browser, lalu akses http://toko-baju.local. Apabila browser menampilkan situs Magento Commerce, berarti konfigurasi virtual host telah berhasil dilakukan.
Lakukan langkah-langkah yang sama untuk konfigurasi virtual host domain apparel-store.local dan toko-sepeda.local.
Konfigurasi Multiple Store Magento
Magento Commerce mempunyai layar administrasi khusus yang digunakan untuk konfigurasi multiple store. Instalasi default hanya membuatkan satu website, satu store, dan satu store view. Melalui layar administrasi ini kita bisa menambahkan dan mengubah informasi mengenai website, store, dan store view.
Membuat Website Magento
Dalam instalasi standar Magento Commerce hanya ada satu website yang sudah terpasang, yaitu website default. Karena kita memiliki dua toko online masing-masing untuk toko-baju.local dan toko-sepatu.local, kita perlu membuat satu website baru untuk toko-sepatu.local. Sedangkan website default kita peruntukkan bagi toko-baju.local.
Ikuti langkah-langkah berikut ini untuk membuat website baru dalam Magento Commerce.
-
Login ke layar administrasi Magento Commerce.
-
Pilih menu System > Manage Stores.
-
Klik tombol Create Website.
-
Dalam layar New Website yang dimunculkan, masukkan informasi website yang meliputi Name, Code, dan Sort order. Gambar berikut menunjukkan contoh layar New Website.
Selain itu, kita juga perlu mengubah Name dari website default menjadi Toko Baju, agar lebih representatif, sesuai dengan nama tokonya.
Membuat Store Magento
Terdapat satu store dalam instalasi default Magento Commerce. Kita perlu membuat total tiga store untuk memenuhi kebutuhan toko online sesuai skenario. Ketiga store tersebut adalah:
- Toko Baju Anak
- Toko Baju Dewasa
- Toko Sepeda
Setiap store menggunakan root category berbeda yang didefinisikan untuk masing-masing store. Root category ini adalah kategori yang membentuk hirarki sendiri yang bisa dipakai hanya untuk store tertentu. Untuk keperluan pembuatan multiple store, sebelum membuat store kita perlu membuat root category untuk store tersebut.
Ikuti langkah-langkah berikut ini untuk membuat root category baru dalam Magento Commerce.
-
Login ke layar administrasi Magento Commerce.
-
Pilih menu Catalog > Manage Categories.
-
Dalam layar New Category yang dimunculkan, isi informasi yang diperlukan untuk kategori baru. Jangan lupa untuk memilih Yes pada isian Is Active dan Is Anchor. Gambar berikut menunjukkan contoh layar pengisian New Category.
Ulang langkah-langkah di atas untuk membuat root category Baju Dewasa dan Baju Anak. Masing-masing root category tersebut juga bisa memiliki sub kategori yang jumlah dan tingkatannya tidak terbatas sesuai kebutuhan. Dalam Gambar di atas terlihat bahwa root category Baju Dewasa mempunyai dua sub kategori, yaitu Pria dan Wanita. Sedangkan root category Baju Anak mempunyai dua sub kategori yaitu Laki-Laki dan Perempuan.
Setelah membuat root category, langkah selanjutnya adalah membuat store.
Ikuti langkah-langkah berikut ini untuk membuat store baru dalam Magento Commerce.
-
Login ke layar administrasi Magento Commerce.
-
Pilih menu System > Manage Stores.
-
Klik tombol Create Store.
-
Dalam layar New Store yang dimunculkan, masukkan informasi store yang meliputi Website, Name, dan Root Category. Gambar berikut menunjukkan contoh layar New Store.
Ulangi langkah-langkah di atas untuk membuat store Baju Anak. Untuk store Baju Dewasa kita bisa menggunakan store default setelah namanya diubah menjadi Baju Dewasa.
Membuat Store View Magento
Store view kebanyakan digunakan untuk konfigurasi multi bahasa untuk setiap store. Dalam demo ini, kita pun menggunakan store view untuk keperluan tersebut. Untuk store Baju Anak terdapat dua store view yaitu:
- anak, store view Baju Anak berbahasa Indonesia
- children, store view Baju Anak berbahasa Inggris
Demikian pula untuk store Baju Dewasa yang memiliki dua store view yaitu:
- dewasa, store view Baju Dewasa berbahasa Indonesia
- parent, store view Baju Dewasa berbahasa Inggris
Catatan: Agar Magento Commerce bisa menggunakan Bahasa Indonesia, kita perlu mengunduh lokal Bahasa Indonesia dan menaruh berkas unduhan tersebut dalam direktori /var/magento/app/locale/id_ID. Lokal Bahasa Indonesia untuk Magento Commerce bisa diunduh dari alamat berikut ini: http://www.magentocommerce.com/boards/viewthread/760/.
Ikuti langkah-langkah berikut ini untuk membuat store view dalam Magento Commerce:
-
Login ke layar administrasi Magento Commerce.
-
Pilih menu System > Manage Stores.
-
Klik tombol Create Store View.
-
Dalam layar New Store View yang dimunculkan, masukkan informasi store view yang meliputi Store, Name, Code, Status dan Sort order. Gambar berikut menunjukkan contoh layar New Store View.
Ulangi langkah-langkah di atas untuk membuat store view sisanya sesuai keperluan.
Skup Konfigurasi dalam Magento
Sampai di sini kita sudah membuat website, store, dan store view dalam Magento Commerce. Langkah selanjutnya adalah melakukan konfigurasi untuk masing-masing website, store, dan store view agar setiap entitas yang kita definisikan berjalan dengan benar.
Dalam layar administrasi Magento Commerce, pilih menu System > Configuration. Perhatikan layar di bagian kiri atas terdapat kotak Current Configuration Scope. Fungsi kotak ini adalah untuk mengatur skup dari konfigurasi yang kita lakukan.
Dalam Magento Commerce skup konfigurasi bisa diatur pada tingkat global, website, dan store view. Kita bisa memilih global, website tertentu, atau store view tertentu yang akan kita atur. Gambar berikut ini menunjukkan isi dari pilihan dalam kotak Current Configuration Scope dalam toko online yang sedang kita demokan.
Konfigurasi Global
Ikuti langkah-langkah berikut ini untuk melakukan konfigurasi Magento Commerce di tingkat global:
-
Pilih Default Config dalam Current Configuration Scope.
-
Pilih Web dari kelompok General pada menu Configuration (terletak di bagian kiri layar).
-
Pilih Yes pada isian Add Store Code to Urls.
-
Pilih Yes pada isian Use Web Server Rewrites.
Konfigurasi Website
Setiap website yang didefinisikan dalam Magento Commerce bisa memiliki konfigurasi yang unik. Salah satu konfigurasi penting yang perlu dilakukan pada tingkat website adalah Base URL.
Ikuti langkah-langkah berikut ini untuk melakukan konfigurasi Magento Commerce untuk website toko-baju.local:
-
Pilih toko-baju.local dalam Current Configuration Scope.
-
Pilih Web dari kelompok General pada menu Configuration (terletak di bagian kiri layar).
-
Dalam isian Base URL dalam kelompok Unsecure, kosongkan kotak Use default, lalu masukkan http://toko-baju.local.
-
Lakukan hal yang sama untuk Base URL dalam kelompok Secure. (Kita tidak menggunakan protokol HTTPS untuk secure connection).
Ulangi langkah-langkah di atas untuk melakukan konfigurasi website http://toko-sepeda.local.
Konfigurasi Store View
Sama halnya dengan website, setiap store view juga bisa memiliki konfigurasi yang unik.
Ikuti langkah-langkah berikut ini untuk melakukan konfigurasi Magento Commerce untuk store view Baju Anak:
-
Pilih Baju Anak dalam Current Configuration Scope.
-
Pilih General dari kelompok General pada menu Configuration (terletak di bagian kiri layar).
-
Dalam isian Locale, kosongkan kotak Use website, lalu pilih Indonesian (Indonesia) pada isian Locale.
-
Pilih Design dari kelompok General pada menu Configuration (terletak di bagian kiri layar). Dalam form yang ditampilkan, kosongkan kotak Use website untuk setiap isian yang dirasa unik untuk store view, misalnya Default Title, Default Description, Default Keywords, Logo Image Src, dan lain-lain. Lalu masukkan nilai yang sesuai untuk isian tersebut.
Ulangi langkah-langkah di atas untuk semua store view sisanya.
Menyunting index.php
Sebagai langkah terakhir, kita perlu menyunting index.php agar multiple website bisa berjalan dengan benar. Buka index.php dalam sebuah editor teks, lalu ganti baris berikut ini:
Mage::run();
menjadi
switch($_SERVER['HTTP_HOST']) {
case 'toko-sepeda.local':
Mage::run('toko_sepeda', 'website');
break;
default:
Mage::run();
break;
}
Lakukan Test
Buka browser untuk mengakses setiap store view yang sudah kita konfigurasi dan pastikan bahwa browser sudah menunjukkan layar yang sesuai dengan konfigurasi yang kita masukkan. Berikut ini contoh hasil test untuk dua store view yaitu Toko Baju Dewasa (Bahasa Indonesia) dan Toko Baju Anak (Bahasa Inggris).
Kesimpulan
Magento Commerce memiliki fitur yang sangat handal berupa kemampuannya membentuk multiple store dengan cukup hanya memiliki satu instalasi. Dalam posting ini telah dijelaskan bagaimana cara melakukan konfigurasi multiple store dalam Magento Commerce dimulai dari konfigurasi web server sampai menyunting berkas-berkas yang diperlukan agar multiple store dalam Magento Commerce bisa berjalan dengan baik.
dicopas dari http://suhanto.com/multiple-store-magento-commerce
Mantap infonya. Saya punya domain tokowikia.com rencananya menggunakan magento.terimakasih gan
BalasHapus