Magento 2: मानक ग्रिड से अधिक UI ग्रिड घटकों का उपयोग करने के क्या लाभ हैं?


23

इसलिए Magento 2 ने UI घटक पेश किए।

उनमें से एक यूआई घटक ग्रिड है (आप इसके बारे में अधिक जानकारी यहां पा सकते हैं: मैगेंटो 2 में यूआई घटक ग्रिड की व्याख्या )

एक कस्टम मॉड्यूल बनाते समय, मैं पुराने Magento 1 विधि से Grid.phpजुड़ा हुआ था , मैंने एक फाइल बनाई है जो मेरे adminhtml ग्रिड को संभालती है।

मैं सोच रहा हूँ कि Grid.phpविधि के बजाय UI घटक ग्रिड का उपयोग करने के क्या लाभ हैं ?

जवाबों:


23

मैं अब तक पाए गए लोगों की सूची दूंगा।

  • तानाना। नए कॉलम जोड़ने के लिए आप एक नया xml जोड़ सकते हैं।
  • कोड पर कॉन्फ़िगरेशन। तर्क के लिए कम कोड, अधिक घोषित एक्सएमएल।
  • नेटवर्क पर कम यातायात। Xml को एक जोंस में बदल दिया जाता है और ब्राउज़र को भेजा जाता है। साथ ही प्रत्येक फ़ील्ड प्रकार केवल एक बार ब्राउज़र में भेजा जाता है और फॉर्म जनरेशन क्लाइंट पर होता है।
  • नई प्रणाली कॉलम रिडरिंग और स्टेट सेविंग की अनुमति देती है।

विषय से बाहर: मुझे "जानकारी के अंदर" मिला कि योजना सभी घटकों और रूपों को UI घटकों में स्थानांतरित करने के लिए है। इसलिए आपको उनका इस्तेमाल करना शुरू कर देना चाहिए।


ऐसा कोई विषय नहीं है जो एक महान जानकारी हो, जिस तरह की प्रतिक्रिया मुझे चाहिए
राफेल डिजिटल पियानोवाद

@ राफेल आप ui_component द्वारा बुकमार्क्स बचा सकते हैं। Xml के माध्यम से विन्यास अधिक जानकारी आप ui_bookmark तालिका में देख सकते हैं
mrtuvn

22

@ राफेल-एट-डिजिटल-पियानोवाद ने मुझे उन चीजों की इस सूची को पोस्ट करने के लिए कहा, जो मुझे लगता है कि adminhtml ग्रिड UI घटक XML के साथ गलत हैं, इसलिए यहां जाता है:

Adminhtml ग्रिड UI घटक XML में क्या गलत है?

  • देव के दौरान धीमी प्रतिक्रिया चक्र
  • समझने केलिए कठिन
  • कुछ गलत हो जाता है तो डिबग करना मुश्किल है (ज्यादातर केवल कोर में XML की तुलना करके)
  • बहुत कार्यान्वयन विस्तार से अवगत कराया
  • कॉपी और पेस्ट को प्रोत्साहित करता है
  • XML मनुष्य के पढ़ने और लिखने के लिए नहीं था
  • कठिन परीक्षा है
  • यह स्पष्ट नहीं है कि अन्य विकल्प क्या उपलब्ध हैं
  • बॉयलरप्लेट और जादू के बहुत सारे (दोनों दुनिया के सबसे बुरे)
  • DB तालिका डेटा प्रदर्शित करने के विचार के लिए युग्मित
  • फ़ाइल में बहुत सारे डुप्लिकेट नाम तार

"बेहतर समाधान के साथ आओ" आप कहते हैं?

खैर, मैं नहीं। लेकिन यहाँ एक मोटा विचार है कि कैसे मैं, एक डेवलपर के रूप में, adminhtml ग्रिड और फ़ॉर्म बनाने में सक्षम होना चाहूंगा।

  • का कार्यान्वयन बनाएँ GridDataSourceInterface
  • ग्रिड घटक GridDataSourceInterface::getGridItemType()एक वर्ग नाम या इंटरफ़ेस नाम लाने के लिए एक विधि का उपयोग करता है
  • इंटरफ़ेस पर परिलक्षित होता है और सभी स्तंभों का उपयोग संभावित स्तंभों को निर्धारित करने के लिए किया जाता है
  • कॉलम प्रकार रिटर्न प्रकार से अनुमानित हैं
  • वे प्रकार जो स्वचालित रूप से मान्य नहीं हो सकते हैं क्योंकि मान्य स्तंभ प्रकारों को अनदेखा किया जाता है।
  • GridDataSourceInterfaceकार्यान्वयन उदाहरण अच्छा वर्णनात्मक तरीकों जहां जरूरत का उपयोग कर कॉन्फ़िगर गैर डिफ़ॉल्ट दृश्यता और स्तंभ प्रकार के लिए इस्तेमाल किया जा सकता है।

लाभ:

  • आईडीई ने विधि स्वत: पूर्णता के माध्यम से ग्रिड (और रूपों) की सहायता प्राप्त की
  • संवेदनशील चूक
  • कार्यान्वयन अज्ञेय
  • सरल संस्थाओं के लिए केवल बहुत कम कोड लिखना होगा
  • एक्सएमएल दृष्टिकोण की तुलना में, सुविधाओं का कोई नुकसान नहीं
  • इंटरसेप्टर के माध्यम से विस्तार
  • यदि वर्ग इंटरफेस ग्रिड और डिफाइनिंग को परिभाषित करते हैं तो एक्सएमएल के रूप में केवल घोषणात्मक हो सकता है (लेकिन बहुत अधिक सरल)
  • Magento 2s सेवा अनुबंध वर्गों के लिए "रास्ता-की-सोच" से मेल खाता है
  • आवश्यक दृश्यपटल कोड के साथ वर्तमान संपर्क में कोई बदलाव नहीं (तार पर समान यातायात)
  • फ्रंटेंड कॉलम छँटाई और विन्यास काम करना जारी रख सकता है जैसा अभी करता है
  • सं मोार एक्सएमएल

मूल प्रश्न के बारे में, मुझे नहीं लगता कि पुरानी, ​​Magento 1 शैली का उपयोग करके, व्यवस्थापन गेम बनाने के लिए ब्लॉक करने से यह सही काम करने में बाधा उत्पन्न करता है।
मैं केवल नए XML आधारित ग्रिड घोषणापत्र की वकालत कर रहा हूं, जिसे जल्द से जल्द कुछ बेहतर तरीके से प्रतिस्थापित किया जाना चाहिए।


यह सच है कि यूआई घटक को समझना मुश्किल है। क्या आपने सोचा था कि मैगनेटो यूआई ग्रिड घटक पर भविष्य में एक और समाधान के साथ आएगा। यह मेरे लिए सिर कैश बन जाएगा ....... डोनोट किसी भी उचित ब्लॉग को खोजें:
अमित बेरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.