मैं यहाँ Entity API प्रलेखन पर काम कर रहा हूँ: https://drupal.org/developing/api/entity ।
विस्तार से जवाब देने के लिए सवाल बहुत बड़ा है, और यह इस बात पर निर्भर करता है कि आपको सामग्री या कॉन्फिग एंटिटी की आवश्यकता है या नहीं। यह मानते हुए कि आप चाहते हैं कि सामग्री इकाइयाँ (डेटाबेस में संग्रहीत, फ़ील्ड / संशोधन योग्य हो सकती हैं / ..., ऊपर दिए गए लिंक में विवरण), आपको कुछ ऐसा करने की ज़रूरत है, ऊपर लिंक किया गया दस्तावेज़ अंततः ट्यूटोरियल सहित, प्रत्येक चरण को कवर करेगा, अभी , यह केवल पहले चरण को कवर करता है।
- एक इकाई वर्ग प्रदान करें और इसे एक इकाई के रूप में उजागर करने के लिए आवश्यक एनोटेशन जोड़ें।
- आवश्यक तालिका प्रदान करें, यदि आपके पास पहले से ही आपका 7.x स्कीमा है, तो आपको बहुत कुछ बदलने की आवश्यकता नहीं है, लेकिन यदि आपकी भाषा में अनुवाद हो सकता है, तो आप एक यूआईडी और संभवतः लैंगकोड कॉलम जोड़ सकते हैं। चरण में लिंक नोड उदाहरण देखें यदि आप कुछ आधार फ़ील्ड (गुण) अनुवाद योग्य या संशोधन योग्य बनाना चाहते हैं, तो आपको वर्तमान में आवश्यक तालिकाओं को स्वयं प्रदान करना होगा।
- अपने आधारभूत परिभाषा () विधि में आधार क्षेत्र परिभाषाएँ प्रदान करें। । ध्यान दें कि यह काम करने का तरीका https://drupal.org/node/2047229 (सरणियों से कक्षाओं तक) में बदल जाएगा ।
- आवश्यक तर्क / पद सहेजें / लोड / हटाएं विधियों को लागू करें यदि आपके पास कस्टम तर्क है जो एक इकाई को बचाने से पहले होने की आवश्यकता है (जैसे परिवर्तित टाइमस्टैम्प को अपडेट करना)।
- यदि आपके पास गैर-तुच्छ एक्सेस लॉजिक है, तो एक एक्सेस कंट्रोलर को लागू करें और checkAccess () और checkCreateAccess () विधियों को ओवरराइड करें या अपने एनोटेशन में admin_permission को निर्दिष्ट करें यदि आपके पास एक एकल अनुमति है जो पूर्ण एक्सेस की अनुमति देती है।
- यह अनुशंसा की जाती है कि आपके तकनीकी वर्ग (जैसे नोड के लिए NodeInterface) के लिए एक इंटरफ़ेस प्रदान करने के लिए तकनीकी रूप से आवश्यक नहीं है, जिसमें आपके आधार क्षेत्रों के लिए उपयोगी (आमतौर पर / सेट / isSomething ()) विधियाँ शामिल हैं, ताकि आप इंटरफ़ेस पर संकेत टाइप कर सकें उन तरीकों के लिए स्वतः पूर्ण प्राप्त करें।
आपको जो चाहिए, उसके आधार पर, आगे के कदम भी होंगे, जैसे आवश्यक रूपों को परिभाषित करना, संभवतः एक रेंडर नियंत्रक और इसी तरह, लेकिन उन लोगों को संभवतः अलग प्रश्न होने चाहिए यदि आपको अधिक जानकारी की आवश्यकता है।
टिप्पणियाँ:
- कॉन्फ़िगरेशन इकाइयाँ मूल रूप से समान हैं, सिवाय आपको कॉन्फ़िगरेशन स्टोरेज कंट्रोलर का उपयोग करने की आवश्यकता के ( https://drupal.org/node/2119905 यह आसान बना देगा), आपको टेबल स्कीमा (स्पष्ट रूप से) को परिभाषित करने की आवश्यकता नहीं है, लेकिन आपको प्रदान करने की आवश्यकता है एक विन्यास स्कीमा फ़ाइल, उदाहरण के लिए टैक्सोनॉमी वोकैबुलरीज़ या नोड प्रकारों के लिए देखें।
- सामग्री संस्थाओं के पास अपने आधार क्षेत्र सार्वजनिक या संरक्षित गुणों के रूप में परिभाषित नहीं होते हैं, इसके बजाय, वे स्वचालित रूप से मूल्यों और फ़ील्ड गुणों में प्रबंधित होते हैं। उन्हें या तो प्राप्त करें () / सेट () या संबंधित मैजिक विधियों के माध्यम से एक्सेस करें। ($ नोड-> शीर्षक $ नोड के बराबर है -> ('शीर्षक'))।
- प्रलेखन पर मदद बहुत स्वागत होगा। मैंने अपनी पसंद की सामग्री / संरचना के लिए एक मूल रूपरेखा तैयार की है, इसलिए बस एक नया पृष्ठ बनाएं और आरंभ करें जैसे कि मुझे सरलीकृत ट्यूटोरियल होने में भी दिलचस्पी है, कॉन्फ़िगर संस्थाओं के लिए, यहां एक पहले से ही है कि मैं तैयार होने पर इकाई के दस्तावेज पर आ जाएगा: https://drupal.org/node/1809494
- यदि आप कार्य उदाहरण देखना चाहते हैं, तो कोर में बड़ी संख्या में सामग्री इकाई कार्यान्वयन है: नोड, उपयोगकर्ता, शब्द, टिप्पणी, कस्टमब्लॉक ... ... जैसा कि चरण 1 में जुड़ा लेख बताता है, आप हमेशा प्रदान किए गए इकाई प्रकार पा सकते हैं। एंटिटी नेमस्पेस में एक मॉड्यूल।
- @fago ने इस सप्ताह के अंत में DrupalCamp वियना में Entity API के बारे में एक प्रस्तुति दी , इसमें जो कुछ मैंने यहां लिखा है, उसमें बहुत कुछ शामिल है।