Оновлення
Схоже, декілька речей змінилися деякими останніми змінами (7 жовтня) у галузі розвитку. Зараз схоже, що можливо підтримувати модуль, що живе в каталозі постачальників.
Я створив два приклади установки модулів. Один, який копіює файли в додаток / код, і інший, який реєструє модуль, де він знаходиться в каталозі постачальників.
Стратегія копіювання: https://github.com/mttjohnson/magento2-sample-module-minimal-copy
Стратегія реєстрації: https://github.com/mttjohnson/magento2-sample-module-minimal-register
З метою розробки я думаю, що використання стратегії реєстрації є більш корисним, оскільки файли, якими керує Magento, можуть бути безпосередньо змінені, протестовані та повернуті назад до модуля репо.
Оригінальний відповідь
Якщо у вас є composer.json
пакунок для композиційного пакету модуля, який містить тип, magento2-module
то файли за замовчуванням будуть скопійовані у вказаний відображений у app/code
каталозі каталог.
{
"name": "vendorname/module-name",
"type": "magento2-module",
"require": {
"magento/magento-composer-installer": "*"
},
"extra": {
"map": [
[
"module",
"VendorName/ModuleName"
]
]
}
}
У цьому прикладі composer.json ім'я пакета композитора vendorname/module-name
призведе до розміщення файлів для пакета композиторів vendor/vendorname/module-name
.
Спеціальний тип magento2-module
реалізації реалізований як композитор-плагін у пакеті magento / magento-composer-installer . Ось чому я перерахував це в розділі вимагати. Саме цей плагін-композитор робить копіювання файлів у відповідний app/code
каталог magento .
extra: {map: [["composerDir","MagentoDir"]]}
Розділ , на який посилається композитор-плагін монтажником , щоб дізнатися , яка частина вашого пакету композитора до карти , в якій частині структури каталогів Magento. У наведеному прикладі це займе vendor/vendorname/module-name/module
і копіює файли звідти app/code/VendorName/ModuleName
.