ปรับปรุง
ดูเหมือนว่ามีการเปลี่ยนแปลงหลายอย่างด้วยการเปลี่ยนแปลงล่าสุด (7 ตุลาคม) ในสาขาที่กำลังพัฒนา ดูเหมือนว่าเป็นไปได้ที่จะสนับสนุนโมดูลที่มีชีวิตอยู่ในไดเรกทอรีผู้ขาย
ฉันสร้างตัวอย่างการติดตั้งโมดูลสองตัวอย่าง หนึ่งที่คัดลอกไฟล์ไปยังแอพ / รหัสและอื่น ๆ ที่ลงทะเบียนโมดูลที่มันอยู่ในไดเรกทอรีผู้ขาย
คัดลอกกลยุทธ์: https://github.com/mttjohnson/magento2-sample-module-minimal-copy
กลยุทธ์การลงทะเบียน: https://github.com/mttjohnson/magento2-sample-module-minimal-register
เพื่อจุดประสงค์ในการพัฒนาฉันคิดว่าการใช้กลยุทธ์การลงทะเบียนมีประโยชน์มากกว่าเพราะไฟล์ที่เรียกใช้โดย Magento สามารถแก้ไขโดยตรงทดสอบแล้วส่งกลับไปยัง repo โมดูลได้
คำตอบเดิม
หากคุณมี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
ถูกนำไปใช้เป็นปลั๊กอินสำหรับนักแต่งเพลงในแพ็คเกจmagento / magento-composer-installer นั่นคือเหตุผลที่ฉันได้ระบุไว้ในส่วนที่ต้องใช้ มันเป็นปลั๊กอินสำหรับนักแต่งเพลงที่ทำการคัดลอกไฟล์ไปไว้ในapp/code
สารบบวีโอไอพีที่เหมาะสม
extra: {map: [["composerDir","MagentoDir"]]}
ส่วนถูกอ้างอิงโดยนักแต่งเพลงติดตั้งปลั๊กอินที่จะรู้ว่าสิ่งที่เป็นส่วนหนึ่งของแพคเกจนักแต่งเพลงของคุณเพื่อ map กับสิ่งที่เป็นส่วนหนึ่งของโครงสร้างไดเรกทอรีวีโอไอพีของคุณ ในตัวอย่างที่มีให้นี้จะใช้เวลาและคัดลอกไฟล์จากที่นั่นไปvendor/vendorname/module-name/module
app/code/VendorName/ModuleName