Magento2 के लिए कस्टम एक्सटेंशन कहां बनाएं?


9

कुछ लेख कस्टम एक्सटेंशन बनाने के लिए प्रोत्साहित करते हैं app/codeऔर कुछ अन्य उन्हें बनाने के लिए प्रोत्साहित करते हैं vendor। क्या ये दोनों तरीके ठीक हैं?

क्या होगा अगर मैं एक मॉड्यूल को ओवरराइड करना चाहता हूं vendor? क्या मुझे अपने कस्टम मॉड्यूल को vendorफ़ोल्डर के अंदर भी लिखने की आवश्यकता है या app/code?

क्या वे Magento 1.x में कोडपूल के रूप में कार्य करते हैं?

कृपया प्रत्येक निर्देशिका के उद्देश्य को स्पष्ट करें।


मेरे अनुसार हमें इसे ऐप / कोड में बनाना होगा।
अर्जुन

जवाबों:


7

आप M1 में फ़ोल्डर app/codeऔर vendorकोडपूल के रूप में देख सकते हैं, लेकिन वे वास्तव में कोडपूल नहीं हैं।
एम 1 में कोई "कोडपूल" अवधारणा नहीं है।

  • vendorफ़ोल्डर उन कंपोज़रों के लिए है जिन्हें आप संगीतकार के माध्यम से डाउनलोड करते हैं। आपको उस फ़ोल्डर में कोड नहीं लिखना चाहिए।
  • app/codeआपका खेल का मैदान है अपने स्वयं के एक्सटेंशन यहां जोड़ें।

यदि आपको vendorफ़ोल्डर में कुछ लिखने या उसे विस्तारित करने की आवश्यकता है, तो आप इसे फ़ोल्डर में कर सकते हैं app/code। बस सुनिश्चित करें कि आप module.xmlअपने मॉड्यूल में नरम निर्भरता निर्दिष्ट करते हैं , उसी तरह आपने इसे app/etc/modules/Namespace_Module.xmlफ़ाइल में M1 में किया था ।
अंतर केवल इतना है कि एम 2 में वे वास्तव में निर्भरता नहीं हैं। वे सीक्वेंस हैं।
इस तरह आपका मॉड्यूल vendorफ़ोल्डर से एक के बाद लोड हो जाएगा


पूरी तरह से सच नहीं है। यदि आप github के माध्यम से M2 स्थापित करते हैं app/code, तो यह एक खेल का मैदान नहीं है;)
डिजिटल पियानोवाद पर राफेल

@ मार्स: बहुत-बहुत धन्यवाद। इससे मुझे जो संदेह हुआ वह साफ हो गया। यदि आप XMकिसी विक्रेता मॉड्यूल में एल फ़ाइल को ओवरराइड करना चाहते हैं , तो क्या हमें अभी भी निर्भरता का उल्लेख करना है module.xml ?
सुकेशिनी

@RaphaelatDigitalPianism। हां और ना। आपको app/codeउस मामले में मुख्य मॉड्यूल मिलते हैं , लेकिन आप अभी भी अपने खुद के मॉड्यूल जोड़ सकते हैं। और एकमात्र कारण जो आपको जीथ के माध्यम से एम 2 को स्थापित करना चाहिए, इसके साथ चारों ओर खेलना और / या इसमें योगदान करना है। तो यह तकनीकी रूप से अभी भी app/codeआपका खेल का मैदान है।
मेरियस

@Sukeshini। इसके बारे में निश्चित नहीं है, लेकिन मुझे लगता है कि आपको करना चाहिए।
मेरियस

@ मर्सिए सहमत थे w / सब कुछ तुमने कहा था कि मैंने कहा app/code/Vendorहै कि आपका खेल का मैदान है इसलिए कोई भी सामान को तोड़ने का जोखिम नहीं है
राफेल एट डिजिटल पियानिज़्म

2

app/code निश्चित रूप से अपने प्रोजेट के मॉड्यूल के लिए सही जगह है।

आपको कभी भी अंदर कोड नहीं लिखना चाहिए vendor(यह निर्देशिका आपके स्रोत नियंत्रण में नजरअंदाज नहीं की गई है), क्योंकि यह केवल संगीतकार द्वारा प्रबंधित की जाती है और तीसरे पक्ष के मॉड्यूल या मॉड्यूल के लिए समर्पित है जिसे आप पुन: उपयोग करना चाहते हैं (और आपने पैकगिस्ट या अपने स्वयं के सैटिस रिपॉजिटरी में प्रकाशित किया है। )।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.