Оновлення
Схоже, декілька речей змінилися деякими останніми змінами (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.