फ़ील्ड संग्रह बनाम इकाई संदर्भ


14

फील्ड कलेक्शन एक फायदा कैसे है? आप एक ही सामग्री के साथ एक नई सामग्री प्रकार के साथ कर सकते हैं जो एक संदर्भ संदर्भ के साथ माता-पिता को इंगित करता है।

हो सकता है कि कोई व्यक्ति कुछ स्थितियों को तोड़ सकता है जहां हर एक बेहतर होगा।

टास्क के लिए कहें -> फाइलें, क्या फील्ड कलेक्शन बेहतर होगा या एंटिटी रेफरेंस के साथ नया कंटेंट टाइप होगा?

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

मैं आनंद लेता हूं कि ड्रुपल के पास एक ही तरह के काम करने के कई तरीके हैं, लेकिन मैं इन दोनों समाधानों के अलग-अलग या समान तरीकों पर बहुत कुछ नहीं पा सकता हूं।

शायद कोई समझाने में मदद कर सकता है?

जवाबों:


15

यह एक ऐसा सवाल है जिसे मैं नई परियोजनाओं, फील्ड संग्रह बनाम इकाई संदर्भ + कस्टम इकाई का सामना करते समय या संरचना सरल होने पर, कई डीबी कॉलम / मल्टीफ़िल्ड के साथ कस्टम फ़ील्ड बनाम फ़ील्ड के फ़ील्ड के अनुरूप होने के कारण स्वयं बनाता हूं । यहाँ मेरे अनुभव के आधार पर मेरी राय है

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

यदि आप एक ऐसी साइट कर रहे हैं जो फील्ड कलेक्शन एक बहुत अच्छा समाधान है, तो इसे कुछ ट्विक्स के साथ यहां और वहां किया जा सकता है, यह साइट बिल्डरों को आंतरिक के बारे में ज्यादा चिंता किए बिना जटिल संरचनाओं को बनाने के लिए एक शक्तिशाली उपकरण देता है। यह मूल रूप से एक इकाई बनाएगा जो आईडी द्वारा "होस्ट" इकाई से संबंधित है, जिससे इसे और सब कुछ फ़ील्ड जोड़ने की अनुमति मिलती है। नुकसान फील्ड संग्रह के आंतरिक के ज्ञान में आएगा कि आपको जटिल संचालन करने की आवश्यकता है जैसे कि इस पर एक इकाई संदर्भ के साथ फील्ड संग्रह का प्रबंधन करना, या डेटा को माइग्रेट करना। के रूप में यह एक सामान्य उपकरण है, यह एक कदम आगे जाने के लिए काफी जटिल होगा।

एक अन्य विकल्प जो आपको मिला है, वह एंटिटी संदर्भ के साथ ईसीके का उपयोग कर रहा है , लेकिन इसके साथ मेरा अनुभव अब तक एक आपदा रहा है, मुझे सहायक के बिना कोड द्वारा इकाई प्रकार बनाना आसान लगता है।

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

ऊपर वर्णित सभी समाधानों के साथ थोड़ी देर के परीक्षण के बाद, मेरी टीम में हम हमेशा इकाई प्रकार + ईआर के लिए जाते हैं, लेकिन मैं देख सकता हूं कि छोटी परियोजनाओं के लिए, डेटा माइग्रेशन या एक जटिल i18n सेटअप के बिना, फील्ड कलेक्शन सबसे तेज़ तरीका है जाओ।


अच्छा अवलोकन। मैं यह टिप्पणी करना चाहूंगा कि फील्ड कलेक्शन माइग्रेट मॉड्यूल के माध्यम से माइग्रेशन का समर्थन करता है।
लेदरव

1
एक अन्य पहलू संस्करण / संशोधन के साथ क्या करना है। सामग्री प्रकार (नोड्स) में संशोधन के साथ ट्रैक रखने के लिए एक तैयार समाधान है, और संलग्न फ़ील्ड संग्रह में परिवर्तन मूल नोड से परिलक्षित होते हैं। इसके विपरीत, संस्थाओं के अपने संशोधन हैं, संदर्भित इकाई के अप्रासंगिक।
लेप्रैव

@ इसके बाद यह वास्तव में करता है, मेरा मतलब है कि कुछ उपयोग के मामलों के लिए एक फ़ील्ड संग्रह माइग्रेट करना बहुत कठिन काम हो सकता है और इसके लिए जिम्मेदार होना चाहिए।
pcambra

3

यह वास्तव में उन डेटा पर निर्भर करता है जो आप क्षेत्रों में इनपुट करते हैं और उपयोग जो आप उनके साथ करना चाहते हैं।

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

यदि आप किसी फ़ील्ड संग्रह में जोड़े गए जानकारी का पुन: उपयोग करना चाहते हैं, तो सामग्री प्रकार या कस्टम इकाई का उपयोग करना बेहतर होगा। उदाहरण: एक स्कूल पाठ्यक्रम को 5 विषय मिले हैं। विषयों में 3 फ़ील्ड शामिल हैं: शीर्षक, घंटे और स्तर। यदि आप कई स्कूल पाठ्यक्रमों में विषयों का पुन: उपयोग करने जा रहे हैं, तो सामग्री प्रकार / कस्टम एंटिटी के लिए जाएं और एंटिटी संदर्भ का उपयोग करें।


0

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

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