logo

Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

Drupal 8-ում օգտվողի կոնտենտի տիպի ստեղծում

18/06/2025, by Ivan

Այս էջը պատճեն է Drupal 8 մոդուլի «Ավտոմատ միացնել» կոնֆիգուրացիայի։ Կայուն համարեք որպես վերահինացում։

Օգտվողի կոնտենտի տիպի ստեղծումը շատ հեշտացել է նոր կոնֆիգուրացիոն API-ի շնորհիվ, որը ներառված է Drupal 8-ում։

Նախապայմաններ

  • Տեղադրված է Drupal 8.0.x
  • Ունեք սեփական մոդուլ (այս օրինակում օգտագործվող մոդուլի անունը foobar է)

Օգտվողի կոնտենտի տիպի ստեղծում

Ինչպես նշվեց նախաբանման մեջ, օգտվողի կոնտենտի տիպը ստեղծվում է մի քանի YAML ֆայլեր ստեղծելով, որոնք պարունակում են բոլոր անհրաժեշտ կոնֆիգուրացիաները։ Այս օրինակում մենք կստեղծենք Car Brand կոնտենտի տիպ, որը կունենա երկու դաշտ (ստանդարտ՝ ըստ լռության)՝ մարմին և վերնագիր։

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

Այս ֆայլը կտեղեկացնի Drupal-ին, որ պետք է ստեղծի նոր կոնտենտի տիպ։

Նշում. նկատի ունեցեք, որ մենք ավելացնում ենք պարտադիր կախվածություն foobar մոդուլից։ Եթե չավելացնենք այս կախվածությունը, 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

Այս ֆայլը կավելացնի մարմնի դաշտը մեր կոնտենտի տիպին։

# 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-ին, թե ինչպես պետք է ցուցադրվի մեր օգտվողի կոնտենտի տիպի թիզերը։

# 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-ին մեր նոր օգտվողի կոնտենտի տիպի մասին։ Սա կատարվում է մոդուլի նորից միացմամբ։ Եթե մոդուլը դեռ միացված չէ, պարզապես միացրեք այն։ Եթե մոդուլը արդեն միացված է, ապա հեռացրեք այն և նորից միացրեք։
Եթե այժմ գնաք «Կոնտենտ ստեղծելու» էջ, կտեսնեք, որ կարող եք ստեղծել նոր նոդ «Car Brand» կոնտենտի տիպով։

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.