9.10.4. Drupal 8 फ़ील्ड्स API — Drupal फ़ॉर्मैटर: पेज पर डेटा प्रदर्शित करना
इस लेख में हम Field Formatters पर विचार करेंगे, जो हमें फ़ील्ड्स के प्रदर्शन (display) को संपादित करने और उन्हें पेज पर प्रदर्शित करने की अनुमति देते हैं।
पिछले लेखों में हमने Link नामक एक फ़ील्ड टाइप बनाया था। इस लेख में हम देखेंगे कि ये फ़ील्ड्स पेज पर कैसे दिखाई देते हैं और इसके लिए कौन-सी क्लास ज़िम्मेदार होती है।
हर फ़ील्ड जिसे आप Drupal के माध्यम से जोड़ते हैं, उसे पेज पर प्रदर्शित किया जा सकता है और उसकी सेटिंग्स को Manage display पेज पर बदला जा सकता है।
Format कॉलम में आप चुन सकते हैं कि फ़ील्ड को कैसे प्रदर्शित किया जाए। यह कॉलम Field Formatter क्लासेस की वजह से बनता है। अब हम Link मॉड्यूल से एक क्लास देखेंगे, जो पेज पर लिंक प्रदर्शित करती है:
core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php
क्लास के एनोटेशन से हमें पता चलता है कि यह फ़ॉर्मैटर किस फ़ील्ड टाइप से संबंधित है:
/**
* Plugin implementation of the 'link' formatter.
*
* @FieldFormatter(
* id = "link",
* label = @Translation("Link"),
* field_types = {
* "link"
* }
* )
*/
इस फ़ाइल में हमें सबसे अधिक दिलचस्पी viewElements() मेथड में है — यह मेथड पेज पर डेटा आउटपुट करने के लिए जिम्मेदार होता है। ध्यान दें कि फ़ॉर्मैटर डेटाबेस पर कोई क्वेरी नहीं चलाता, बल्कि यह डेटा $items
वेरिएबल से प्राप्त करता है।