@ राफेल-एट-डिजिटल-पियानोवाद ने मुझे उन चीजों की इस सूची को पोस्ट करने के लिए कहा, जो मुझे लगता है कि adminhtml ग्रिड UI घटक XML के साथ गलत हैं, इसलिए यहां जाता है:
Adminhtml ग्रिड UI घटक XML में क्या गलत है?
- देव के दौरान धीमी प्रतिक्रिया चक्र
- समझने केलिए कठिन
- कुछ गलत हो जाता है तो डिबग करना मुश्किल है (ज्यादातर केवल कोर में XML की तुलना करके)
- बहुत कार्यान्वयन विस्तार से अवगत कराया
- कॉपी और पेस्ट को प्रोत्साहित करता है
- XML मनुष्य के पढ़ने और लिखने के लिए नहीं था
- कठिन परीक्षा है
- यह स्पष्ट नहीं है कि अन्य विकल्प क्या उपलब्ध हैं
- बॉयलरप्लेट और जादू के बहुत सारे (दोनों दुनिया के सबसे बुरे)
- DB तालिका डेटा प्रदर्शित करने के विचार के लिए युग्मित
- फ़ाइल में बहुत सारे डुप्लिकेट नाम तार
"बेहतर समाधान के साथ आओ" आप कहते हैं?
खैर, मैं नहीं। लेकिन यहाँ एक मोटा विचार है कि कैसे मैं, एक डेवलपर के रूप में, adminhtml ग्रिड और फ़ॉर्म बनाने में सक्षम होना चाहूंगा।
- का कार्यान्वयन बनाएँ
GridDataSourceInterface
- ग्रिड घटक
GridDataSourceInterface::getGridItemType()
एक वर्ग नाम या इंटरफ़ेस नाम लाने के लिए एक विधि का उपयोग करता है
- इंटरफ़ेस पर परिलक्षित होता है और सभी स्तंभों का उपयोग संभावित स्तंभों को निर्धारित करने के लिए किया जाता है
- कॉलम प्रकार रिटर्न प्रकार से अनुमानित हैं
- वे प्रकार जो स्वचालित रूप से मान्य नहीं हो सकते हैं क्योंकि मान्य स्तंभ प्रकारों को अनदेखा किया जाता है।
GridDataSourceInterface
कार्यान्वयन उदाहरण अच्छा वर्णनात्मक तरीकों जहां जरूरत का उपयोग कर कॉन्फ़िगर गैर डिफ़ॉल्ट दृश्यता और स्तंभ प्रकार के लिए इस्तेमाल किया जा सकता है।
लाभ:
- आईडीई ने विधि स्वत: पूर्णता के माध्यम से ग्रिड (और रूपों) की सहायता प्राप्त की
- संवेदनशील चूक
- कार्यान्वयन अज्ञेय
- सरल संस्थाओं के लिए केवल बहुत कम कोड लिखना होगा
- एक्सएमएल दृष्टिकोण की तुलना में, सुविधाओं का कोई नुकसान नहीं
- इंटरसेप्टर के माध्यम से विस्तार
- यदि वर्ग इंटरफेस ग्रिड और डिफाइनिंग को परिभाषित करते हैं तो एक्सएमएल के रूप में केवल घोषणात्मक हो सकता है (लेकिन बहुत अधिक सरल)
- Magento 2s सेवा अनुबंध वर्गों के लिए "रास्ता-की-सोच" से मेल खाता है
- आवश्यक दृश्यपटल कोड के साथ वर्तमान संपर्क में कोई बदलाव नहीं (तार पर समान यातायात)
- फ्रंटेंड कॉलम छँटाई और विन्यास काम करना जारी रख सकता है जैसा अभी करता है
- सं मोार एक्सएमएल
मूल प्रश्न के बारे में, मुझे नहीं लगता कि पुरानी, Magento 1 शैली का उपयोग करके, व्यवस्थापन गेम बनाने के लिए ब्लॉक करने से यह सही काम करने में बाधा उत्पन्न करता है।
मैं केवल नए XML आधारित ग्रिड घोषणापत्र की वकालत कर रहा हूं, जिसे जल्द से जल्द कुछ बेहतर तरीके से प्रतिस्थापित किया जाना चाहिए।