Drupal 8-ում օգտվողի կոնտենտի տիպի ստեղծում
Այս էջը պատճեն է 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.