logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll

6.3. Napravite sopstvenu Drupal temu zasnovanu na Stable temi.

27/05/2025, by Ivan

Počevši od ovog članka, bavićemo se našom temom u Drupalu. U ovom delu tutorijala analiziraćemo osnove tema u Drupalu, gde šta stoji, kako uključiti i koristiti CSS, JavaScript. Vaša tema će biti zasnovana na tematskom graditelju (theme-builder) iz kernela Stable. Ako želite da učite Drupal, Stable je odličan početak. Ne treba odmah počinjati sa Bootstrapom, jer ćete stalno imati pitanja i greške. U sledećem delu tutorijala, sa znanjem o pravljenju tema za Drupal, krenućemo na rad sa Bootstrapom.

Evo zvanične dokumentacije

https://www.drupal.org/theme-guide/8

Napravite folder za našu temu

Sve nove teme stavljamo u /themes folder. Možete staviti foldere kao u Drupal 7 sajtovima /all/themes, ali je najbolje koristiti novu Drupal strukturu fajlova i staviti ih u /themes folder.

Ja ću napraviti folder /themes/drupalbook, vi možete nazvati temu kako želite:

folder teme

Napravite fajl sa osnovnim informacijama drupalbook.info.yml

U folderu naše teme napravite fajl theme_name.info.yml:

drupalbook.info.yml

Ovaj članak daje detaljne informacije o YAML formatu:

https://en.wikipedia.org/wiki/YAML

Obratite pažnju na dve stvari:

1) Nemojte koristiti tabove za uvlačenje, samo razmake.

2) Uvlačenja moraju biti od 1 ili više razmaka. (npr. name: value, a ne name: value).

Unesite u drupalbook.info.yml fajl:

name: Drupalbook
type: theme
base theme: stable
description: Moja prva Drupal tema.
core: 8.x
core_version_requirement: ^8 || ^9
libraries:
  - drupalbook/global-styling
regions:
  header: Header
  content: Content  # Ovaj region je obavezan
  sidebar_first: 'Sidebar first' # Ne zaboravite navodnike
  footer: Footer

Hajde da vidimo šta svaka linija znači.

name - ime naše teme. Mašinsko ime naše teme je ime foldera i fajla drupalbook.info.yml - drupalbook.

type - tip projekta je tema (theme) za Drupal.

base theme - nasleđujemo stable temu, ako tema nije izvedena od druge teme, napišite false.

description - opis teme koji se prikazuje u administratorskom panelu.

core - verzija Drupal kernela za koju je tema namenjena.

libraries - ovde uključujemo biblioteke za našu temu. To radimo kroz fajl koji ćemo sledeći napraviti drupalbook.libraries.yml. Obratite pažnju na global-styling, koristićemo ga u drupalbook.libraries.yml.

regions - regioni naše teme. Obavezan je region content kroz koji se prikazuje sadržaj Drupala. Ako ime regiona ima dve ili više reči, ne zaboravite navodnike. Mašinska imena regiona pišu se sa donjom crtom (underscore).

Napravimo biblioteku za našu temu.

Fajl Drupalbook.libraries.yml

Dodajte sledeće linije u drupalbook.libraries.yml:

global-styling:
  version: 1.x
  css:
    theme:
      css/style.css: {}
      css/print.css: { media: print }
  js:
    js/custom.js: {}
  dependencies:
    - core/jquery

Sada da prođemo liniju po liniju:

global-styling - ime koje smo postavili u drupalbook.info.yml

css - ovde uključujemo CSS fajlove, za print verziju smo označili media: print.

js - ovde uključujemo javascript fajlove. jQuery je opciono u Drupalu, pa ako želimo koristiti jQuery u našem JS kodu, dodajemo zavisnost za njega

dependencies:
  - core/jquery

Napravite foldere css i js i stavite fajlove u njih:

css/style.css

css/print.css

js/custom.js

Pošto nasleđujemo stable temu, i šabloni (templates) se nasleđuju od nje. Sada idite na sajt u sekciju Appearance (Izgled):

/admin/appearance

očistite keš i omogućite našu temu:

Tema

Sada imamo našu novu Drupalbook temu na sajtu:

Tema