Cập nhật
Có vẻ như một số điều đã thay đổi với một số thay đổi mới nhất (ngày 7 tháng 10) trong nhánh phát triển. Bây giờ có vẻ như có thể hỗ trợ một mô-đun sống trong thư mục nhà cung cấp.
Tôi đã tạo ra hai ví dụ về cài đặt các mô-đun. Một bản sao các tệp vào ứng dụng / mã và một tệp khác đăng ký mô-đun nơi nó nằm trong thư mục nhà cung cấp.
Chiến lược sao chép: https://github.com/mttjohnson/magento2-sample-module-minimal-copy
Chiến lược đăng ký: https://github.com/mttjohnson/magento2-sample-module-minimal-register
Đối với mục đích phát triển, tôi nghĩ rằng việc sử dụng chiến lược đăng ký sẽ hữu ích hơn vì các tệp đang được Magento chạy có thể được sửa đổi trực tiếp, kiểm tra và sau đó được cam kết trở lại mô-đun repo.
Câu trả lời gốc
Nếu bạn có một composer.json
tệp cho gói trình soạn thảo mô-đun có chứa một loại magento2-module
thì các tệp mặc định sẽ được sao chép sang một thư mục được ánh xạ đã chỉ định trong app/code
thư mục.
{
"name": "vendorname/module-name",
"type": "magento2-module",
"require": {
"magento/magento-composer-installer": "*"
},
"extra": {
"map": [
[
"module",
"VendorName/ModuleName"
]
]
}
}
Trong ví dụ này composer.json, tên gói của nhà soạn nhạc vendorname/module-name
sẽ dẫn đến các tệp cho gói soạn thảo được đặt vào vendor/vendorname/module-name
.
Loại đặc biệt magento2-module
được triển khai như một trình soạn thảo-plugin trong gói trình cài đặt magento / magento-trình soạn thảo . Đó là lý do tại sao tôi đã liệt kê nó trong phần yêu cầu. Chính trình soạn thảo-plugin này thực hiện sao chép các tập tin vào app/code
thư mục magento thích hợp .
Phần extra: {map: [["composerDir","MagentoDir"]]}
này được trình cài đặt trình soạn thảo-plugin tham chiếu để biết phần nào trong gói trình soạn thảo của bạn để ánh xạ tới phần nào trong cấu trúc thư mục magento của bạn. Trong ví dụ được cung cấp, điều này sẽ lấy vendor/vendorname/module-name/module
và sao chép các tệp từ đó sang app/code/VendorName/ModuleName
.