मैजेंटो प्लगइन विकास सीखना


30

मैं 13 साल के लिए एक PHP डेवलपर रहा हूं, जब तक कि वर्डप्रेस जैसी कुछ अन्य लोकप्रिय परियोजनाओं के रूप में PHP का व्यापक ज्ञान है। मुझे Magento के साथ कोई अनुभव नहीं है।

अब मेरे पास एक पूर्णकालिक नौकरी है जो एक कंपनी के लिए काम कर रही है जो Magento का उपयोग करती है, मेरे सभी विकास कार्य अब Magento पर होंगे।

पहली बार मैगेंटो को देखने के बाद मेरे शुरुआती विचार हैं, वाह, अब मुझे क्या मिला है? लेकिन तब मुझ में अनुभवी डेवलपर बाहर निकलता है और याद करता है, यह सिर्फ PHP है।

तो मैं कुछ बुनियादी Magento सवाल है मैं वास्तव में अधिक अनुभवी Magento डेवलपर्स से कुछ जवाब की सराहना करेंगे ...

  1. इस साइट के बगल में Magento के विकास के बारे में जानने के लिए सबसे अच्छा उपयोगी स्थान कौन सा है?
  2. एक्सटेंशन / प्लगइन्स मेरे लिए बहुत भ्रमित करने वाले हैं। वर्डप्रेस जैसे अन्य प्लेटफ़ॉर्म आपको अपने स्वयं के फ़ोल्डर में एक प्लगइन रखने की अनुमति देते हैं और यह सभी फाइलें उस फ़ोल्डर के नीचे रहेंगी। अब तक मैंने जो देखा है, उससे मैगेंटो में कई फ़ोल्डरों में एक प्लगइन बिखरा हुआ हो सकता है, क्या यह सही है?
  3. मैंने कोर कार्यक्षमता को ओवर-राइड करने का तरीका सीखा है। इसलिए यदि कोर में कोई फ़ाइल यहां स्थित है /app/code/core/Mage/SitemapModel/Resource/Catalogतो मैं इस स्थान पर फ़ाइल बनाकर इसे ओवर-राइड कर सकता हूं, तो यह /app/code/local/Mage/SitemapModel/Resource/Catalogएक्सटेंशन / प्लगइन के साथ कैसे काम करता है? अगर मैं एक ऐसा प्लगइन बनाऊं जिसे कोर कार्यक्षमता को ओवर-राइड करने की आवश्यकता हो, तो मेरे पास काम करने के लिए उस एक्सटेंशन के लिए सभी जगह मेरी फाइलें होनी चाहिए?
  4. कोई अन्य जानकारी जो आप चाहते हैं कि आप मैगेंटो के साथ शुरू करना जानते थे?

किसी भी अंतर्दृष्टि के लिए धन्यवाद, मुझे पता है कि यह एक बहु भाग प्रश्न है, लेकिन मुझे लगता है कि किसी भी उत्तर में खुद को और अन्य को शुरू करने में मदद मिलेगी, मैं इस सार्वजनिक विकी को बनाऊंगा अगर मुझे भी ऐसा करना चाहिए।


1
अगर स्टैटेक्सचेंज पर एक स्टिकी जैसा कुछ होता तो यह क्यू एंड ए एक होता! यह किस संसाधन में बदल गया है :)
मैकनाब

@McNab एक स्टिकी फीचर नहीं है, हालांकि यह सवाल कि सबसे अधिक वोट आम तौर पर उच्च रैंक और अधिक बार मिलते हैं। इसके अलावा यह पेज magento.stackexchange.com/?tab=month इस सवाल को अभी नंबर 2 के रूप में दिखा रहा है, इसलिए यह एक स्टिकी जैसा है, लेकिन यह "महीना" कहता है, इसलिए मुझे यकीन नहीं है कि यह स्टिकीनेस कब तक बरकरार रहेगी। मैं मानता हूं कि यह एक महान संसाधन में बदल गया है और मेरे पास भविष्य में आसान पहुंच के लिए इसे प्रतिष्ठित और प्रतिष्ठित किया गया है। BTW कृपया इस समुदाय को अपने दोस्तों के साथ साझा करें ताकि यह सुनिश्चित हो जाए कि एक स्थायी घर बन जाए और बीटा अवधि के बाद मर न जाए
जेसनडेविस

जवाबों:


24

मैं आपके प्रश्न के पहले भाग पर ध्यान केंद्रित करने जा रहा हूँ - " मैं कैसे सीखूँ / कहाँ से शुरू करूँ? "

एक पूर्व Zend फ्रेमवर्क डेवलपर के रूप में, Magento को विकसित करने में मेरी सबसे बड़ी मदद ऑनलाइन सीखने में विस्फोट है जो Magento U पिछले 2 वर्षों में लाया गया है। औपचारिक शिक्षण के अलावा - मैं से ज्यादातर जानने कर , और अब मैं 5 साल के लिए Magento "कर" की है।

कुछ ठोस सीखने के संसाधन:

सीखने के साधनों के अलावा, मेरे लिए सबसे बड़ा सीखने का उपकरण 3rd पार्टी मैगनेटो मॉड्यूल की जांच करके है। मैं कोड को आसानी से पढ़ता हूं और उससे सीखता हूं। आप कोर मॉड्यूल से सीखकर भी ऐसा कर सकते हैं।

आपकी सीखने की यात्रा में कुछ साइटें आपके लिए उपयोगी होंगी:

http://magento-quickies.tumblr.com/

http://alanstorm.com/

http://colin.mollenhour.com/

http://magentotherightway.com/

कुछ महाकाव्य डेवलपर्स का पालन करें:

एलिस्टेयर स्टीड: https://github.com/alistairstead

फैब्रीज़ियो ब्रांका: https://github.com/fbrnc/

विनय कोप्प: https://github.com/Vinai

सामाजिक रूप से शामिल हों - कुछ 'रॉकस्टार' डेवलपर्स से मिलें और ट्विटर पर उनका अनुसरण करना शुरू करें। जब आपको सहायता की आवश्यकता हो तो विशिष्ट लोगों तक पहुंचें; यह समुदाय आश्चर्यजनक रूप से स्वीकार्य है। अपने लाभ के लिए समुदाय का उपयोग करें।

कुछ ट्विटर सूची:

https://twitter.com/inchoo/magento

https://twitter.com/kkoepke/magento

https://twitter.com/eHubSystem/magento-imagine-2013

https://twitter.com/GingerWarriorX/magento-peeps

अंत में - अगले साल मैगेंटो इमेजिन के लिए ट्रेक बनाएं और मांस को दबाएं। हमें ट्रैक करें, हमसे सवाल पूछें। अपने स्थानीय मुलाकातों से बाहर निकलें। यदि आपके क्षेत्र में कोई मीटअप मौजूद नहीं है - एक शुरू करें । लगातार करे। अपने ज्ञान की कमी को आप नेटवर्किंग और लोगों से मिलने से न रहने दें। समुदाय में आपके रिश्ते लाभांश में बंद हो जाएंगे।


14

मेरे 2 सेंट शानदार @ दार्इंलिंक के उत्तर के लिए।

दो आधिकारिक पीडीएफ हैं

1) Magento एक्सटेंशन डेवलपर की मार्गदर्शिका

स्क्रैच स्टेप-बाय-स्टेप से कस्टम एक्सटेंशन बनाने के लिए 80 पेज। मॉड्यूल "समाचार" को खरोंच से विकसित किया गया है - यह आपको मॉड्यूल की फ़ाइलों और फ़ोल्डरों की संरचना, कॉन्फ़िगरेशन फ़ाइलें, नियंत्रक, मॉडल, ब्लॉक दिखाएगा।

2) डिजाइनर्स गाइड टू मैगेंटो यहां पाया जा सकता है http://www.magentocommerce.com/resources/magento-user-guide

सर्वश्रेष्ठ प्रथाओं के अनुसार अपने स्वयं के विषयों, पैकेजों को व्यवस्थित और बनाने के लिए 60 पृष्ठ।

विशेष रूप से उन लोगों के लिए एक नई पुस्तक है, जिनके पास PHP की पृष्ठभूमि है और Magento के साथ शुरू करते हैं - एलन मैकग्रेगर द्वारा Magento PHP डेवलपर की मार्गदर्शिका और इसकी Amazon और विभिन्न ब्लॉगों पर Magento के डेवलपर्स से बहुत अच्छी समीक्षा है।

वीडियो चैनल: Magento के कॉमर्स YouTube चैनल

मैगेंटो सम्मेलनों वीडियो से मिलो

अन्य अच्छे ब्लॉग:

http://magebase.com/
http://inchoo.net/blog/
http://www.kingletas.com/
http://blog.belvg.com/category/magento-news/developer-certification http: / /fbrnc.net/tag:Magento
http://www.demacmedia.com/category/magento-commerce/


1
यह बढ़िया है - भयानक संसाधन!
11:13 बजे

8

चारों ओर अब तक शानदार जवाब। के बारे में

एक्सटेंशन / प्लगइन्स मेरे लिए बहुत भ्रमित करने वाले हैं। वर्डप्रेस जैसे अन्य प्लेटफ़ॉर्म आपको अपने स्वयं के फ़ोल्डर में एक प्लगइन रखने की अनुमति देते हैं और यह सभी फाइलें उस फ़ोल्डर के नीचे रहेंगी। मैंने अब तक जो देखा है, उससे मैगेंटो में कई फ़ोल्डरों में एक प्लगइन बिखर सकता है, क्या यह सही है?

Magento में शब्दावली थोड़ा भ्रमित करता है। मंच का प्रारंभिक विकास बेरहमी से किया गया था और कई बार जहाँ आप झूठी शुरुआत और दिशा में परिवर्तन से अतिव्यापी अवधारणाओं को देखेंगे। एक्सटेंशन / प्लगइन्स / मॉड्यूल / I-a-developer-and-want-to-add-my-code-to-the-system इन क्षेत्रों में से एक है।

एक Magento कनेक्ट एक्सटेंशन बस फाइलों का एक पैकेज है जिसे Magento सिस्टम में स्थापित किया जा सकता है। यह पूरी तरह से Magento के अन्य प्रोग्रामेटिक सब-सिस्टम में से किसी से भी डिकम्पोज्ड है।

हालांकि आप Magento कोड मॉड्यूल के लिए उपयोग किया जाता है के करीब । मोटे तौर पर, एक कोड मॉड्यूल PHP फ़ाइलों का एक संग्रह है जो Magento सिंगल यूनिट के रूप में देखता है। मॉड्यूल तीन फ़ोल्डरों में से एक में स्थित हैं

app/code/core
app/code/community
app/code/local

जब आप Magento को कस्टमाइज़ करना चाहते हैं, या नई सुविधाएँ जोड़ना चाहते हैं, तो आप लगभग हमेशा एक कोड मॉड्यूल के साथ शुरू करेंगे। वास्तव में, Magento ही लगभग 60 - 70 कोड मॉड्यूल के ऊपर बनाया गया है। उदाहरण के लिए, Mage_Cmsमॉड्यूल में

app/code/core/Mage/Cms

उस कोड को शामिल करता है जो Magento के CMS फीचर को काम करता है। यदि आप एक मॉड्यूल बनाने जा रहे हैं जो किगेटो को किटी बिल्लियों को जोड़ते हैं, तो आप नामित मॉड्यूल बना सकते हैं Jasondavis_Kittiesऔर इसे अंदर रख सकते हैं

app/code/community/Jasondavis/Kitties

पुन: core, community, और local- पहली Magento डेवलपर्स के लिए है, इसलिए स्पर्श नहीं करते। दूसरा उन एक्सटेंशनों के लिए है जिन्हें समुदाय को वितरित करने का इरादा है। अंतिम उन एक्सटेंशनों के लिए है जिन्हें एक विशिष्ट प्रणाली के लिए स्थानीय रूप से विकसित करने का इरादा है।

अंतिम भ्रम की स्थिति डिजाइन पैकेज के आसपास है । अपने HTML को रेंडर करने और प्रबंधित करने के लिए Magento कोड का उपयोग करता है एक पूरी तरह से अलग प्रणाली है। इसीलिए phtmlफाइलें कोड मॉड्यूल फाइलों से अलग स्थित हैं । आप इन फ़ाइलों को पा सकते हैं

app/design

फ़ोल्डर।

सबसे अच्छी तरह से लिखा गया है, पेशेवर एक्सटेंशन को Magento Connect एक्सटेंशन के रूप में वितरित किया जाता है जो एक, या कई Magento कोड मॉड्यूलphtml स्थापित करते हैं, और base डिज़ाइन पैकेज में कई कस्टम टेम्पलेट और लेआउट XML फ़ाइलों को स्थापित करते हैं ।

कोड मॉड्यूल के साथ आप कर सकते हैं विशिष्ट चीजें असंख्य हैं, और किसी भी एक से अधिक स्टैक एक्सचेंज उत्तर कवर कर सकते हैं। मैंने लेखों की एक श्रृंखला लिखी है, हालांकि थोड़ा दिनांकित, अभी भी Magento की कोडिंग अवधारणाओं का एक ठोस आधार है।

अंत में, पुन:

कोई अन्य जानकारी जो आप चाहते हैं कि आप मैगेंटो के साथ शुरू करना जानते थे?

मैं इस पर थोड़ा पक्षपाती हूं, लेकिन मैं कॉमर्स बग नामक एक मैगनेटो डिबगिंग एक्सटेंशन बेचता हूं (छोटे डिबग लिंक पर क्लिक करें)। यह उन सभी सूचनाओं को एकत्रित करता है और प्रदर्शित करता है जो एक डेवलपर को जानना चाहिए जब मैगेंटो के साथ काम करना होता है। जब आप सिस्टम सीख रहे हों तो यह एक बहुत बड़ी मदद है (मैंने इसे सिस्टम तरीके से वापस सीखने में मदद करने के लिए बनाया है), और तब मददगार रहता है जब आप मैगेंटो सिस्टम पर दिन-प्रतिदिन काम कर रहे होते हैं। यदि आप अपने काम के लिए प्रति घंटा चार्ज कर रहे हैं तो आप अपने पहले प्रोजेक्ट पर खरीद मूल्य वापस कर देंगे।


7

@ दार्इंलिंक के उत्तर के अलावा, मैं PHP के उपयोग से ओवरराइडिंग कक्षाओं के बारे में आपके कथन का उत्तर देना चाहता हूं जिसमें पथ प्राथमिकता शामिल है।

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

  • नियंत्रकों के लिए काम नहीं करता है
  • PHP क्लासेस (उदाहरण के लिए config.xml फ़ाइलों के लिए) कुछ भी काम नहीं करता है
  • जब आप Magento को अपग्रेड करते हैं, तो आपको अपनी स्थानीय प्रतियों में परिवर्तन को मर्ज करना होगा
  • डीबग करने के लिए भ्रमित करना, जैसा कि ज्यादातर मैगनेटो डेवलपर्स बस कोर कोड पूल में रहने के लिए मैज नेमस्पेस से मॉड्यूल मान लेते हैं।

1
बिलकुल सही। मैं वास्तव में निश्चित नहीं था कि बिना अलग उत्तर के यह कैसे काम करे।
१६:३२ पर दर्शन करें

मुझे लगता है कि इसे अलग रखना एक अच्छा विचार था।
विनय

पता करने के लिए अच्छा है, मुझे पता था कि यह "सही" नहीं लग रहा था, लेकिन मुझे यकीन नहीं था कि अगर कोई और तरीका था, तो मुझे अभी भी बहुत कुछ सीखना है धन्यवाद
जेसनडेविस

4

सबसे पहले आपको कोर मॉड्यूल या क्लास को फिर से लिखने या बढ़ाने के बारे में नहीं सोचना चाहिए। आपको Magento आर्किटेक्चर सीखना चाहिए, स्वयं के परीक्षण मॉड्यूल / विस्तार को थोड़ी कार्यक्षमता के साथ लिखना चाहिए जो Magento, EAV अवधारणाओं, लेआउट पदानुक्रम, Magento विषय और डिज़ाइन प्रवाह को साफ़ नहीं करता है। मैं इस लिंक को संदर्भित करता हूं: आधुनिक Magento 1.X वर्कफ़्लो और विकास उपकरण । सौभाग्य

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