จะสร้างส่วนขยายที่กำหนดเองสำหรับ Magento2 ได้ที่ไหน


9

บางบทความแนะนำให้สร้างส่วนขยายที่กำหนดเองในapp/codeและอื่น ๆ vendorขอแนะนำให้เพื่อสร้างพวกเขาภายใต้ ทั้งสองวิธีนี้ใช้ได้หรือไม่?

หากฉันต้องการที่จะแทนที่โมดูลในvendor? ฉันต้องเขียนโมดูลที่กำหนดเองของฉันด้วยvendorหรือapp/codeไม่

พวกเขาทำหน้าที่เป็น codepools เหมือนกับ Magento 1.x หรือไม่?

โปรดใครก็ได้ชี้แจงจุดประสงค์ของแต่ละไดเรกทอรี


ตามที่ฉันต้องการเราต้องทำให้มันอยู่ในแอพ / รหัส
Arjun

คำตอบ:


7

คุณสามารถดูโฟลเดอร์app/codeและvendorเป็น codepools ใน M1 ได้ แต่ไม่ใช่ codepools จริงๆ
ไม่มีแนวคิด "codepool" ใน M1

  • vendorโฟลเดอร์สำหรับโมดูลที่คุณดาวน์โหลดผ่านผู้แต่ง คุณไม่ควรเขียนโค้ดในโฟลเดอร์นั้น
  • app/codeเป็นสนามเด็กเล่นของคุณ เพิ่มนามสกุลของคุณเองที่นี่

หากคุณต้องการเขียนใหม่ / ขยายบางสิ่งบางอย่างในvendorโฟลเดอร์คุณสามารถทำได้ในapp/codeโฟลเดอร์ ตรวจสอบให้แน่ใจว่าคุณได้ระบุการพึ่งพาซอฟต์ในmodule.xmlโมดูลของคุณเช่นเดียวกับที่คุณทำในapp/etc/modules/Namespace_Module.xmlไฟล์M1
ความแตกต่างเพียงอย่างเดียวคือใน m2 พวกเขาไม่ได้พึ่งพาจริง พวกเขาเป็นลำดับ
วิธีนี้โมดูลของคุณจะถูกโหลดหลังจากโมดูลจากvendorโฟลเดอร์


ไม่จริงทั้งหมด หากคุณติดตั้ง M2 ผ่าน GitHub app/codeไม่ใช่สนามเด็กเล่น;)
Raphael ที่ Digital Pianism

@Marius: ขอบคุณมาก มันเคลียร์ข้อสงสัยที่ฉันมี หากคุณต้องการแทนที่XMไฟล์ L ในโมดูลผู้ขายเรายังต้องพูดถึงการพึ่งพาmodule.xml หรือไม่
Sukeshini

@RaphaelatDigitalPianism ใช่และไม่. คุณได้รับโมดูลหลักในapp/codeกรณีนั้น แต่คุณยังสามารถเพิ่มโมดูลของคุณเองได้ และเหตุผลเดียวที่คุณควรติดตั้ง m2 ผ่าน gitub คือการเล่นกับมันและ / หรือสนับสนุนมัน ดังนั้นเทคนิคนี้ยังทำให้app/codeสนามเด็กเล่นของคุณ
Marius

@Sukeshini ไม่แน่ใจเกี่ยวกับมัน แต่ฉันคิดว่าคุณควร
Marius

@Marius เห็นด้วย w / ทุกสิ่งที่คุณบอกว่าฉันเพิ่งapp/code/Vendorจะบอกว่าเป็นสนามเด็กเล่นของคุณดังนั้นไม่มีความเสี่ยงที่จะทำลายสิ่งสำคัญ
Raphael ที่ Digital Pianism

2

app/code เป็นสถานที่ที่เหมาะสมสำหรับโมดูลของ projet ของคุณ

คุณต้องไม่เขียนโค้ดข้างในvendor(ไดเรกทอรีนี้จะไม่ถูกเพิกเฉยลงในแหล่งควบคุมของคุณ) เนื่องจากมันถูกจัดการโดยนักแต่งเพลงเท่านั้นและทุ่มเทให้กับโมดูลหรือโมดูลบุคคลที่สามที่คุณต้องการนำมาใช้ซ้ำ (และคุณได้เผยแพร่บน )

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.