更新
開発ブランチの最新の変更(10月7日)でいくつかの変更が行われたようです。これで、ベンダーディレクトリにあるモジュールをサポートできるようになりました。
モジュールのインストール例を2つ作成しました。1つはファイルをapp / codeにコピーし、もう1つはベンダーディレクトリにあるモジュールを登録します。
コピー戦略: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では、composerパッケージ名vendorname/module-name
によってcomposerパッケージのファイルがに配置されvendor/vendorname/module-name
ます。
の特別なタイプはmagento2-module
、magento / magento-composer-installerパッケージのcomposer-pluginとして実装されます。それが私がrequireセクションにリストした理由です。ファイルを適切なmagento app/code
ディレクトリにコピーするのは、このcomposer-pluginです。
このextra: {map: [["composerDir","MagentoDir"]]}
セクションは、composer-pluginインストーラーによって参照され、コンポーザーパッケージのどの部分がmagentoディレクトリ構造のどの部分にマップされるかを認識します。提供された例では、これはvendor/vendorname/module-name/module
そこからファイルを取得してコピーしますapp/code/VendorName/ModuleName
。