Dalam theme
tabel ada type
bidang dengan 3 nilai yang mungkin: fisik, virtual, dan pementasan.
Kapan menggunakan tema fisik virtual dan pementasan?
Ketika saya memperluas tema luma tema baru saya muncul di tabel tema sebagai tipe virtual. Tapi sepertinya jenis ini tidak memungkinkan mengganti beberapa file, dan hanya mengubah jenis tema dari virtual ke fisik, saya akan memperpanjang untuk Magento_Theme
paket contoh .
0: Physical - Magento Default Theme (Example: Magento Blank, Magento Luma, Magento 2 Backend) 1: Virtual - Custom Theme which is created by you (custom) which has parent as Default Theme (Example: My Theme) 2: Staging - ?
vendor\magento\module-theme\Model\Theme\Registration.php
/** Allowed sequence relation by type, array(parent theme, child theme) * @var array */ protected $_allowedRelations = [ [ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_VIRTUAL], [ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_STAGING],]; /** Forbidden sequence relation by type ** @var array*/ protected $_forbiddenRelations = [[ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_VIRTUAL],[ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_STAGING],];
Jawaban:
Ada 3 jenis berbeda yang didefinisikan dalam
Magento/Framework/View/Design/ThemeInterface
:Tema fisik
Fisik merujuk pada fakta bahwa tema-tema tersebut ditentukan oleh file. Misalnya, tema kosong dan luma didefinisikan secara fisik di bawah
app/design/frontend/
Tema virtual
Ini belum jelas tapi saya pikir tema virtual merujuk ke tema yang dapat Anda buat di backend yang memperluas tema fisik yang ada tetapi sepertinya belum sepenuhnya diimplementasikan.
Anda dapat melihat bahwa ada dua tab yang tersedia di bagian edit hanya untuk tema virtual yang memungkinkan Anda memberikan CSS dan JS khusus untuk tema virtual.
Saya rasa tema virtual akan menjadi sesuatu yang Anda atur sementara (seperti tema Natal) untuk jangka waktu pendek dan yang hanya memerlukan sedikit perubahan desain dibandingkan dengan tema fisik yang diperluas.
Belum ada tombol Tambahkan Tema Virtual tetapi jika Anda menjalankan query SQL berikut ini, Anda dapat mengatur tema virtual dan Anda akan melihat tab CSS dan JS saat mengeditnya:
Dan ini dia, dua tab tambahan dan tombol Simpan / Hapus:
Pementasan tema
Saya rasa tema pementasan terkait dengan fitur pementasan Magento 2.1 EE: http://devdocs.magento.com/guides/v2.1/extension-dev-guide/staging/Staging.html
Saya menganggap Anda dapat memiliki tema pementasan saat menggunakan kampanye, tetapi saya tidak 100% yakin.
sumber
type
kolom di atastheme
meja: Saya membuat tema dan entah bagaimanatype
nilainya diatur ke1
(bukan default0
). Semua perubahan KURANG / JS saya berhasil, tetapi Magento tidak akan membaca file tata letak apa pun dari tema saya hingga saya mengubahtype
nilainya menjadi0
. Lebih lanjut tentang ini di sini: nahuelsanchez.com/...