अपडेट करें
ऐसा लगता है कि विकसित शाखा में कुछ नवीनतम परिवर्तनों (7 अक्टूबर) के साथ कई चीजें बदल गईं। अब ऐसा लगता है कि विक्रेता निर्देशिका में रहने वाले मॉड्यूल का समर्थन करना संभव है।
मैंने मॉड्यूल स्थापित करने के दो उदाहरण बनाए। एक जो एप्लिकेशन / कोड में फ़ाइलों को कॉपी करता है और दूसरा जो मॉड्यूल को पंजीकृत करता है जहां वह विक्रेता निर्देशिका में रहता है।
कॉपी रणनीति: https://github.com/mttjohnson/magento2-sample-module-minimal-copy
पंजीकरण रणनीति: https://github.com/mttjohnson/magento2-sample-module-minimal-register
विकास के प्रयोजनों के लिए मुझे लगता है कि पंजीकरण रणनीति का उपयोग करना अधिक उपयोगी है क्योंकि मैगेंटो द्वारा चलाई जा रही फाइलों को सीधे संशोधित, परीक्षण किया जा सकता है और फिर मॉड्यूल रेपो में वापस किया जा सकता है।
मूल उत्तर
यदि आपके पास composer.json
अपने मॉड्यूल कंपोज़र पैकेज के लिए एक फ़ाइल है जिसमें एक प्रकार की magento2-module
डिफ़ॉल्ट फाइलें शामिल हैं, तो निर्देशिका में एक निर्दिष्ट मैप की गई निर्देशिका में कॉपी की जाएगी app/code
।
{
"name": "vendorname/module-name",
"type": "magento2-module",
"require": {
"magento/magento-composer-installer": "*"
},
"extra": {
"map": [
[
"module",
"VendorName/ModuleName"
]
]
}
}
इस उदाहरण में कंपोज़र.जेसन कंपोज़र पैकेज के नाम के vendorname/module-name
परिणामस्वरूप कंपोज़र पैकेज के लिए फाइल में रखा जाएगा vendor/vendorname/module-name
।
मैगेंटो / मैगेंटो-कंपोजर-इंस्टॉलर पैकेज magento2-module
में एक विशेष प्रकार को एक प्लगइन-प्लगइन के रूप में लागू किया जाता है । इसीलिए मैंने इसे आवश्यकता अनुभाग में सूचीबद्ध किया है। यह संगीतकार-प्लगइन है जो फाइलों की प्रतिलिपि को उचित मैगेंटो निर्देशिका में कॉपी करता है ।app/code
इस extra: {map: [["composerDir","MagentoDir"]]}
खंड को कंपोज़र-प्लगइन इंस्टॉलर द्वारा संदर्भित किया जाता है ताकि यह पता चल सके कि आपके संगीतकार पैकेज का कौन सा भाग आपके मैग्नेटो डायरेक्टरी स्ट्रक्चर के किस हिस्से में मैप करने के लिए है। उदाहरण में, यह vendor/vendorname/module-name/module
वहाँ से फ़ाइलों को ले जाएगा और कॉपी करेगा app/code/VendorName/ModuleName
।