Panduan Membuat Tema di Magento 2
Diterbitkan: 2015-11-20Hai! Apakah Anda merasa penasaran dengan Magento 2.0 dengan banyak pembaruan dan perubahan? Hari ini, kami ingin berbagi dengan Anda posting blog tentang Panduan Membuat Tema di Magento 2. Selalu update dengan berlatih setiap hari.
Pembaruan Terbaru: Kami baru saja merilis versi 2.0 dari Claue Multipurpose Magento 2 Theme dengan banyak peningkatan kinerja dan fitur eksklusif. Lihat tema ini sekarang: Claue Magento Theme 2. 0
Demo Langsung
Claue - Bersih, Minimal Magento 2 & 1 Tema adalah templat yang sangat baik untuk toko e-commerce modern dan bersih dengan 40+ tata letak beranda dan banyak pilihan untuk toko, blog, portofolio, tata letak locator lainnya, dan halaman lain yang bermanfaat. Claue versi 2. 0 hadir dengan banyak fitur eksklusif termasuk:
- Berbasis pada tema Luma.
- Memenuhi semua standar Tema Magento
- Peningkatan kinerja yang signifikan
- Kompatibel dengan sebagian besar ekstensi pihak ketiga.
- Sepenuhnya kompatibel dengan Magento 2.4.x
Versi lanjutan kedua ini benar-benar berbeda dari yang sebelumnya. Jadi, jika Anda menggunakan Claue versi 1 dan ingin memperbarui ke Claue versi 2, Anda hanya dapat membangun kembali situs web baru, bukan memperbarui dari versi lama. Sekarang, mari kita kembali ke topik utama.
Sistem tema telah berubah sedikit di Magento 2 tetapi ada kesamaan. Topik ini membahas cara membuat file yang membentuk tema, cara menambahkan logo ke tema, dan cara mengatur ukuran gambar.
Buat direktori tema
Untuk membuat direktori untuk tema Anda:
- Pergi ke
<your Magento install dir>/app/design/frontend
. - Buat direktori baru bernama sesuai dengan nama vendor Anda:
/app/design/frontend/<Vendor>
. - Di bawah direktori vendor, buat direktori bernama sesuai dengan tema Anda.
aplikasi/desain/tampilan depan/ <Penjual>/ ...<tema>/ ... ...
Nama folder secara konvensional cocok dengan penamaan yang digunakan dalam kode tema: set karakter alfanumerik apa pun, sesuai keinginan vendor, dapat diterima. Konvensi ini hanyalah rekomendasi, jadi tidak ada yang mencegah penamaan direktori ini dengan cara lain.
Nyatakan tema Anda
Setelah Anda membuat direktori untuk tema Anda, Anda harus membuat theme.xml
yang berisi setidaknya nama tema dan nama tema induk (jika tema mewarisi dari satu). Secara opsional, Anda dapat menentukan di mana gambar pratinjau tema disimpan.
- Tambahkan atau salin dari
theme.xml
yang ada ke direktori tema Andaapp/design/frontend/<Vendor>/<theme>
- Konfigurasikan menggunakan contoh berikut:
<theme xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "urn:magento:framework:Config/etc/theme.xsd" > <title> New theme </title> <!-- your theme's name --> <parent> Magento/blank </parent> <!-- the parent theme, in case your theme inherits from an existing theme --> <media> <preview_image> media/preview.jpg </preview_image> <!-- the path to your theme's preview image --> </media> </theme>
Buat tema Anda paket komposer (opsional)
tema default gento didistribusikan sebagai paket Komposer.
Untuk mendistribusikan tema Anda sebagai sebuah paket, tambahkan file composer.json
ke direktori tema dan daftarkan paket tersebut pada server pengemasan. Server pengemasan publik default adalah https://packagist.org/.
composer.json
menyediakan informasi ketergantungan tema.
Contoh dari composer.json
tema :
{ "name" : "magento/theme-frontend-luma" , "description" : "N/A" , "require" : { "php" : "~5.5.0|~5.6.0|~7.0.0" , "magento/theme-frontend-blank" : "100.0.*" , "magento/framework" : "100.0.*" }, "type" : "magento2-theme" , "version" : "100.0.1" , "license" : [ "OSL-3.0" , "AFL-3.0" ], "autoload" : { "files" : [ "registration.php" ] } }
Anda dapat menemukan detail tentang integrasi Composer dalam sistem Magento dalam integrasi Composer.
Tambahkan pendaftaran.php
Untuk mendaftarkan tema Anda di sistem, di direktori tema Anda tambahkan file registration.php
dengan konten berikut:
<?php /** * Copyright 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ \Magento\Framework\Component\ComponentRegistrar :: register ( \Magento\Framework\Component\ComponentRegistrar :: THEME , 'frontend/<Vendor>/<theme>' , __DIR__ );
Dimana <Vendor>
adalah nama vendor Anda, <theme>
adalah kode tema.
Sebagai ilustrasi, lihat file Registration.php dari tema Magento Luma.
Konfigurasikan gambar
Ukuran gambar produk dan properti lain yang digunakan di etalase dikonfigurasi dalam file konfigurasi view.xml
. Ini diperlukan untuk tema, tetapi opsional jika ada di tema induk.
Jika ukuran gambar produk tema Anda berbeda dari tema induk, atau jika tema Anda tidak mewarisi dari tema apa pun, tambahkan view.xml
menggunakan langkah-langkah berikut:
- Masuk ke server Magento Anda sebagai pengguna dengan izin untuk membuat direktori dan file di direktori instalasi Magento. (Biasanya, ini adalah pemilik sistem file magento.)
- Buat direktori
etc
di folder tema Anda - Salin
view.xml
dari direktorietc
dari tema yang ada (misalnya, dari tema Blank) ke direktorietc
tema Anda. - Konfigurasikan semua ukuran gambar produk etalase di
view.xml
. Misalnya, Anda dapat membuat kategori grid view citra produk persegi dengan menentukan ukuran 250 x 250 piksel, berikut adalah bagaimana konfigurasi yang sesuai terlihat seperti:
... <image id= "category_page_grid" type= "small_image" > <width> 250 </width> <height> 250 </height> </image> ...
Untuk detail tentang konfigurasi gambar di view.xml
, lihat Mengkonfigurasi properti gambar untuk topik tema.
Buat direktori untuk file statis
Tema Anda kemungkinan akan berisi beberapa jenis file statis: gaya, font, JavaScript, dan gambar. Setiap jenis harus disimpan dalam sub-direktori web
terpisah di folder tema Anda:
aplikasi/desain/<area>/<Vendor>/<tema>/ web/ css/ sumber/ font/ gambar/ js/
Di .../<theme>/web/images
Anda menyimpan file statis terkait tema umum. Misalnya, logo tema disimpan di ...<theme>/web/images
. Sangat mungkin bahwa tema Anda juga akan berisi file modul-spesifik, yang disimpan dalam sub-direktori yang sesuai, seperti .../<theme>/<Namespace_Module>/web/css
dan serupa. Mengelola file tema khusus modul dibahas di bagian berikut dari Panduan ini.
Struktur direktori tema Anda sekarang
Pada titik ini struktur file tema Anda terlihat sebagai berikut:
aplikasi/desain/frontend/<Vendor>/ <tema>/ dll/ view.xml web/ gambar logo.svg theme.xml komposer.json
Logo tema
Pada aplikasi Magento, format default dan nama gambar logo adalah logo.svg
. Saat Anda meletakkan gambar logo.svg
di lokasi konvensional, yaitu <theme_dir>/web/images
, maka secara otomatis dikenali sebagai logo tema. Ini ditampilkan di header halaman toko Anda setelah tema diterapkan.
Dalam tema khusus Anda, Anda dapat menggunakan file logo dengan nama dan format yang berbeda, tetapi Anda mungkin perlu mendeklarasikannya.
Perlunya deklarasi tergantung pada apakah tema Anda memiliki tema induk dan gambar logonya. Kasus-kasus berikut mungkin terjadi:
- Tema Anda tidak memiliki tema induk:
- jika nama dan format gambar logo Anda adalah default,
logo.svg
, tidak perlu mendeklarasikannya; - jika nama atau format gambar logo Anda tidak default, Anda perlu mendeklarasikannya dalam tata letak.
- jika nama dan format gambar logo Anda adalah default,
- Tema Anda memiliki tema induk:
- jika gambar logo tema Anda memiliki nama dan format yang sama dengan logo tema induk, tidak perlu mendeklarasikannya;
- jika gambar logo Anda memiliki nama atau format yang berbeda, nyatakan dalam tata letak.
Mendeklarasikan logo tema
Untuk mendeklarasikan logo tema, tambahkan tata letak <theme_dir>/Magento_Theme/layout/default.xml
yang diperluas.
Misalnya, jika file logo Anda adalah my_logo.png
berukuran 300x300px, Anda harus mendeklarasikannya sebagai berikut:
<page xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "urn:magento:framework:View/Layout/etc/page_configuration.xsd" > <body> <referenceBlock name= "logo" > <arguments> <argument name= "logo_file" xsi:type= "string" > images/my_logo.png </argument> <argument name= "logo_img_width" xsi:type= "number" > 300 </argument> <argument name= "logo_img_height" xsi:type= "number" > 300 </argument> </arguments> </referenceBlock> </body> </page>
Mendeklarasikan ukuran logo adalah opsional.
Kunjungi blog Magesolution untuk membaca tutorial lengkap Magento 2 dan update tutorial terbaru tentang Magento 2.
Sumber: magento.com