Kreiranje prilagođenog tipa sadržaja u Drupalu 8
Ova stranica je kopija konfiguracije „Omogući po defaultu“ u Drupal 8 modulu. Treba je posmatrati kao zastarevanje.
Kreiranje prilagođenog tipa sadržaja postalo je prilično jednostavno zahvaljujući novom API-ju za konfiguraciju koji dolazi sa Drupalom 8.
Preduslovi
- Drupal 8.0.x je instaliran
- Imati sopstveni modul (ime modula korišćenog u ovom primeru je foobar)
Kreiranje prilagođenog tipa sadržaja
Kao što je pomenuto u uvodu, kreiranje prilagođenog tipa sadržaja se radi kreiranjem nekoliko YAML fajlova koji sadrže sve potrebne konfiguracije. U ovom primeru kreiraćemo tip sadržaja Car Brand koji će imati dva polja (po defaultu): telo i naslov.
foobar/config/install/node.type.car_brand.yml
Ovaj fajl obaveštava Drupal da treba da kreira novi tip sadržaja.
Napomena: imajte u vidu da dodajemo primoravajuću zavisnost na modul foobar. Ukoliko ovu zavisnost ne dodamo, Drupal neće ukloniti tip sadržaja kada se naš modul ukloni. Kada developer sajta odluči da ovaj modul više nije potreban, ne želimo da taj tip sadržaja ostane dostupan.
# node.type.car_brand.yml langcode: en status: true dependencies: enforced: module: - foobar # Ovo je ime modula koji koristimo u ovom primeru name: 'Car Brand' type: car_brand description: 'Tip sadržaja koji se može koristiti za dodatne informacije o <em>Markama automobila</em>' help: '' new_revision: false preview_mode: 1 display_submitted: true
foobar/config/install/field.field.node.car_brand.body.yml
Ovaj fajl dodaje polje body našem tipu sadržaja.
# 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: 'Više specifičnih informacija o marki automobila.' 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
Ovaj fajl govori Drupalu kako treba da se prikaže teaser (pregled) našeg prilagođenog tipa sadržaja.
# 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
Ovaj fajl govori Drupalu kako da se sadržaj našeg prilagođenog tipa prikaže po defaultu.
# 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
Ovaj fajl govori Drupalu kako treba da izgleda forma za kreiranje novog čvora našeg prilagođenog tipa sadržaja.
# 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: { }
Omogućavanje prilagođenog tipa sadržaja
Sada kada imamo naše konfiguracione fajlove, treba da obavestimo Drupal o našem novom prilagođenom tipu sadržaja. To se radi reinstalacijom modula. Ako vaš modul još nije omogućen, samo ga omogućite. Ako je već omogućen, uklonite modul pa ga ponovo omogućite.
Kada sada odete na stranicu „Kreiraj sadržaj“, videćete da možete kreirati novi čvor tipa sadržaja „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.