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.jsonfile untuk paket komposer modul yang berisi jenis magento2-modulefile maka secara default akan disalin ke direktori yang dipetakan tertentu dalam app/codedirektori.
{
"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-nameakan menghasilkan file untuk paket komposer yang ditempatkan vendor/vendorname/module-name.
Jenis khusus magento2-modulediimplementasikan 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/codedirektori 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/moduledan menyalin file dari sana ke app/code/VendorName/ModuleName.