इकाई गुणों के लिए फ़ील्ड फ़ॉर्मेटर्स को कैसे लागू किया जाए


16

मैंने Entity API का उपयोग करके एक कस्टम इकाई बनाई है जिसमें कुछ गुण हैं , जो एक वर्ग को विस्तारित करने वाले और में घोषित किए गए हैं ।hook_schema()entityPropertyInfo()EntityDefaultMetadataController

अब तक सब ठीक है।

अब मैं चाहूंगा कि उपयोगकर्ता यह देख सकें कि अगर मैं और हुकूफ़ील्ड_फैडर_फिल्ड्स () को लागू किया है और उन्हें घोषित किया है तो इन संपत्तियों को कैसे और कैसे प्रदर्शित किया जा सकता है।

फिर, मेरे नियंत्रक में जो EntityAPIControllerमैंने फैली संपत्ति को $ सामग्री सरणी में जोड़ा buildContent(), जैसा कि यहां उल्लिखित है

यह वास्तव में बहुत अच्छी तरह से काम करता है और गुण प्रदान किए जाते हैं और "मैनेज डिस्प्ले" में ऑर्डर और दृश्यता सेटिंग्स का सम्मान करते हैं।

हालाँकि, मैं यह पता नहीं लगा सकता कि लेबल पोजिशनिंग ( inline/above/hidden) को कस्टमाइज़ करने के लिए मैनेज डिस्प्ले में सेटिंग्स को कैसे जोड़ा जाए और इन गुणों के लिए कस्टम फॉर्मेटर्स को कैसे निर्दिष्ट किया जाए।

कोई सुराग?


1
क्या गुण भी प्रारूपकों का समर्थन करते हैं? चूंकि "प्रबंधित प्रदर्शन" के तहत "नोड" में "शीर्षक" नहीं है, इसलिए मेरा पहला अनुमान नहीं होगा। हालांकि एक अच्छे प्रश्न के लिए +1।
लेटेरियन

इकाई गुण स्वरूपकों का समर्थन नहीं करते, नहीं। आपको लगता है कि पूरे तंत्र अपने आप को लागू करने के लिए की आवश्यकता होगी
क्लाइव

मुझे डर था कि ऐसा ही मामला हो
एलेक्स वेबर

जवाबों:


7

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


1
इकाई की संपत्ति फील्ड मॉड्यूल इस दृष्टिकोण के लिए एक और प्रारंभिक बिंदु है।
andrewmacpherson

1

जैसा कि आप पृष्ठ field_ui_display_overview_formमें देख सकते हैं के साथ भर जाएगा और :modules/field_ui/field_ui.admin.incDisplay setting$instances$extra_fields

$instances = field_info_instances($entity_type, $bundle);
$field_types = field_info_field_types();
$extra_fields = field_info_extra_fields($entity_type, $bundle, 'display');

इस फ़ंक्शन में दो लूप हैं जो पेज बनाते हैं:

foreach ($instances as $name => $instance) {
   ...
}

तथा

foreach ($extra_fields as $name => $extra_field) {
   ...
}

और केवल पहले लूप में जो खेतों में पुनरावृति के लिए विकल्प हैं labelऔरformatter

इसलिए यदि आप अपने गुणों पर यह कार्यक्षमता चाहते हैं (जैसा कि @Clive ने कहा):

आपको उस पूरे तंत्र को स्वयं लागू करने की आवश्यकता होगी

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