Memperbarui
Sepertinya beberapa hal berubah dengan beberapa perubahan terbaru (7 Oktober) di cabang berkembang. Sekarang sepertinya memungkinkan untuk mendukung modul yang tinggal di direktori vendor.
Saya membuat dua contoh menginstal modul. Satu yang menyalin file ke aplikasi / kode dan yang lain yang mendaftar modul di mana ia berada di direktori vendor.
Strategi Salin: https://github.com/mttjohnson/magento2-sample-module-minimal-copy
Strategi Registrasi: https://github.com/mttjohnson/magento2-sample-module-minimal-register
Untuk tujuan pengembangan saya pikir menggunakan strategi registrasi lebih berguna karena file yang sedang dijalankan oleh Magento dapat langsung dimodifikasi, diuji dan kemudian berkomitmen kembali ke modul repo.
Jawaban Asli
Jika Anda memiliki composer.json
file untuk paket komposer modul yang berisi jenis magento2-module
file maka secara default akan disalin ke direktori yang dipetakan tertentu dalam app/code
direktori.
{
"name": "vendorname/module-name",
"type": "magento2-module",
"require": {
"magento/magento-composer-installer": "*"
},
"extra": {
"map": [
[
"module",
"VendorName/ModuleName"
]
]
}
}
Dalam contoh ini composer.json nama paket komposer vendorname/module-name
akan menghasilkan file untuk paket komposer yang ditempatkan vendor/vendorname/module-name
.
Jenis khusus magento2-module
diimplementasikan sebagai komposer-plugin dalam paket magento / magento-komposer-installer . Itu sebabnya saya telah mendaftarkannya di bagian yang diperlukan. Ini adalah komposer-plugin ini yang melakukan penyalinan file ke app/code
direktori magento yang sesuai .
The extra: {map: [["composerDir","MagentoDir"]]}
bagian direferensikan oleh installer komposer-plugin untuk tahu apa bagian dari paket komposer Anda untuk memetakan apa bagian dari struktur direktori Magento Anda. Dalam contoh yang diberikan ini akan mengambil vendor/vendorname/module-name/module
dan menyalin file dari sana ke app/code/VendorName/ModuleName
.