logo

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - नया लेआउट बिल्डर अनुभव❗

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - स्टाइलिश, कस्टमाइज़ेबल ब्लॉक टाइप्स: स्लाइडशो, टैब्स, कार्ड्स, एकॉर्डियन्स और कई अन्य। बैकग्राउंड, DOM बॉक्स, जावास्क्रिप्ट प्लगइन्स के लिए बिल्ट-इन सेटिंग्स। आज ही लेआउट बिल्डिंग का भविष्य अनुभव करें।

डेमो EBT मॉड्यूल्स EBT मॉड्यूल्स डाउनलोड करें

❗एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - नया पैराग्राफ्स अनुभव

एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - एनालॉजिकल पैराग्राफ आधारित मॉड्यूल्स का सेट।

डेमो EPT मॉड्यूल्स EPT मॉड्यूल्स डाउनलोड करें

स्क्रॉल

Drupal में कस्टम कंटेंट टाइप बनाना

30/09/2025, by Ivan

Menu

यह पेज Drupal 8 मॉड्यूल में “Enable by default” कॉन्फ़िगरेशन की कॉपी है। इसे deprecated माना जाना चाहिए।

Drupal 8 के साथ आने वाले नए कॉन्फ़िगरेशन API की वजह से कस्टम कंटेंट टाइप बनाना अब काफ़ी आसान हो गया है।

पूर्वापेक्षाएँ

  • Drupal 8.0.x इंस्टॉल हो।
  • एक कस्टम मॉड्यूल होना चाहिए (इस उदाहरण में इस्तेमाल किए गए मॉड्यूल का नाम foobar है)।

कस्टम कंटेंट टाइप बनाना

जैसा कि परिचय में बताया गया है, कस्टम कंटेंट टाइप कुछ YAML फाइलें बनाकर तैयार किया जाता है, जिनमें सभी ज़रूरी सेटिंग्स होती हैं। इस उदाहरण में हम एक Car Brand कंटेंट टाइप बनाएंगे, जिसमें डिफ़ॉल्ट रूप से दो फ़ील्ड्स होंगी: Body और Title।

foobar/config/install/node.type.car_brand.yml

यह फ़ाइल Drupal को बताएगी कि उसे नया कंटेंट टाइप बनाना है।

नोट: ध्यान दें कि हम मॉड्यूल foobar पर forced dependency जोड़ रहे हैं। अगर हम यह dependency नहीं जोड़ते, तो Drupal हमारे मॉड्यूल को हटाने पर कंटेंट टाइप को नहीं हटाएगा। जब साइट डेवलपर तय करता है कि यह मॉड्यूल अब ज़रूरी नहीं है, तब हम भी नहीं चाहते कि यह कंटेंट टाइप उपलब्ध रहे।

# node.type.car_brand.yml
langcode: en
status: true
dependencies:
  enforced:
    module:
      - foobar # यह उस मॉड्यूल का नाम है जिसे हम इस उदाहरण में उपयोग कर रहे हैं
name: 'Car Brand'
type: car_brand
description: 'Content type that can be used to provide additional information on <em>Car Brands</em>'
help: ''
new_revision: false
preview_mode: 1
display_submitted: true

 

foobar/config/install/field.field.node.car_brand.body.yml

यह फ़ाइल हमारे कंटेंट टाइप में body फ़ील्ड जोड़ देगी।

# field.field.node.car_brand.body.yml
langcode: en
status: true
dependencies:
    config:
        - field.storage.node.body
        - node.type.car_brand
    module:
        - text
id: node.car_brand.body
field_name: body
entity_type: node
bundle: car_brand
label: Body
description: 'More specific information about the car brand.'
required: false
translatable: true
default_value: {  }
default_value_callback: ''
settings:
    display_summary: true
field_type: text_with_summary

 

foobar/config/install/core.entity_view_display.node.car_brand.teaser.yml

यह फ़ाइल Drupal को बताएगी कि हमारे कस्टम कंटेंट टाइप का teaser कैसे दिखना चाहिए।

# core.entity_view_display.node.car_brand.teaser.yml
langcode: en
status: true
dependencies:
    config:
        - core.entity_view_mode.node.teaser
        - field.field.node.car_brand.body
        - node.type.car_brand
    module:
        - text
        - user
id: node.car_brand.teaser
targetEntityType: node
bundle: car_brand
mode: teaser
content:
    body:
        label: hidden
        type: text_summary_or_trimmed
        weight: 101
        settings:
            trim_length: 600
        third_party_settings: {  }
    links:
        weight: 100
hidden: {  }

 

foobar/config/install/core.entity_view_display.node.car_brand.default.yml

यह फ़ाइल Drupal को बताएगी कि हमारे कस्टम कंटेंट टाइप की सामग्री डिफ़ॉल्ट रूप से कैसे दिखाई दे।

# core.entity_view_display.node.car_brand.default.yml
langcode: en
status: true
dependencies:
    config:
        - field.field.node.car_brand.body
        - node.type.car_brand
    module:
        - text
        - user
id: node.car_brand.default
targetEntityType: node
bundle: car_brand
mode: default
content:
    body:
        label: hidden
        type: text_default
        weight: 101
        settings: {  }
        third_party_settings: {  }
    links:
        weight: 100
hidden: {  }

 

foobar/config/install/core.entity_form_display.node.car_brand.default.yml

यह फ़ाइल Drupal को बताएगी कि जब हम अपने कस्टम कंटेंट टाइप का नया नोड बनाते हैं, तो फ़ॉर्म कैसा दिखना चाहिए।

# core.entity_form_display.node.car_brand.default.yml
langcode: en
status: true
dependencies:
    config:
        - field.field.node.car_brand.body
        - node.type.car_brand
    module:
        - text
        - user
id: node.car_brand.default
targetEntityType: node
bundle: car_brand
mode: default
content:
    body:
        label: hidden
        type: text_textarea_with_summary
        weight: 101
        settings: {  }
        third_party_settings: {  }
    links:
        weight: 100
hidden: {  }

कस्टम कंटेंट टाइप सक्षम करें

अब जब हमारे पास हमारी कॉन्फ़िगरेशन फाइलें हैं, तो हमें Drupal को हमारे नए कस्टम कंटेंट टाइप के बारे में बताना है। यह मॉड्यूल को reinstall करके किया जाता है। अगर आपका मॉड्यूल अभी सक्षम नहीं है, तो बस उसे enable करें। अगर आपका मॉड्यूल पहले से सक्षम है, तो उसे disable करें और फिर से enable करें।
अगर आप अभी “Create content” पेज पर जाते हैं, तो आप देखेंगे कि आप “Car Brand” कंटेंट टाइप का नया नोड बना सकते हैं।