Articles

Ovaj članak ima za cilj da vas upozna sa Drupalom, dalje ćemo pisati primere koda, nakon dodavanja našeg prilagođenog modula.


Počnimo sa kreiranjem našeg modula sa malo reda. Nastavićemo sa razdvajanjem prilagođenih (custom) i doprinosa (contrib) modula. U Drupalu se moduli nalaze u /modules folderu. Sada ne treba da ih stavljamo duboko u /sites/all/modules, iako readme kaže da to treba da radi, ipak koristite /modules folder. Unutar /modules foldera napravićemo dva foldera: custom i contrib. U contrib folderu će biti dodatni moduli sa drupal.org, a naši prilagođeni moduli će biti u custom folderu.
Engleski titlovi:


U ovoj lekciji proširićemo mogućnosti našeg modula i kreirati sadržaj koji će biti dostupan samo registrovanim korisnicima ili korisnicima sa određenom ulogom.
Primere koda možete pogledati na github-u:
https://github.com/levmyshkin/drupalbook8
Počnimo tako što ćemo dodati novi YML fajl direktno u folder našeg modula drupalbook.permissions.yml:


Kada učite Drupal API, često ćete morati da se pozivate na glavnu dokumentaciju na https://api.drupal.org. Ovo je automatski generisana Drupal dokumentacija. Sadrži sve informacije o svakoj funkciji, klasi, metodi, gde su definisane, sa kratkim opisom. Takođe, na ovom sajtu postoji pomoć za API, savetujem da se upoznate sa svim sekcijama:


Možemo koristiti parametre u URL-u za rute. Oni funkcionišu slično kao i kontekstualni filteri u Views. Na primer, u URL možemo proslediti ID različitih entiteta, tekstualne nizove ili sekvencijalne ID-jeve odvojene zarezom ili plusom. U ovoj lekciji ćemo proslediti ID noda i prikazati naslov i telo tog noda u sadržaju.
Primere koda možete pogledati na github-u:
https://github.com/levmyshkin/drupalbook8
Dodajmo rutu u naš modul u fajlu drupalbook.routing.yml:


U ovom tutorijalu ćemo pogledati kako programski prikazivati blokove kroz prilagođeni modul u Drupalu 8.
Primere koda možete pogledati na github-u:
https://github.com/levmyshkin/drupalbook8
Počnimo sa dodavanjem fajla koji sadrži PHP klasu, blokovi se u Drupalu kreiraju kroz prilagođeni modul na ovaj način. Proces pravljenja fajla je isti kao i za klasu stranice, kao što smo radili ovde:


U ovom tutorijalu bavićemo se Drupal Form API-jem i kreirati formular za podešavanja modula. Već smo napravili module za prikaz stranice i bloka, sada ćemo napraviti konfiguracioni formular u koji ćemo smestiti podatke za povezivanje sa uslovnom uslugom. Recimo da na sajtu treba da sačuvamo API ključ i API Client ID, na primer za Google Maps API.
Primere koda možete pogledati na github-u:
https://github.com/levmyshkin/drupalbook8


U jednoj od prethodnih lekcija smo naučili šta su hook-ovi, a u ovoj lekciji ćemo raditi sa hook_form_alter() hook-ovima u praksi i dodati funkcionalnost postojećem formularu.
Primere koda možete pronaći na github-u:
https://github.com/levmyshkin/drupalbook8
U ovoj lekciji ćemo početi da gledamo hook-ove u praksi, kasnije ćemo se vratiti hook-ovima i pogledati još nekoliko primera. Za sada, hajde da počnemo sa hook_form_alter().


U ovom članku nastavićemo da razumemo Form API u Drupalu 8 i napraviti višestepeni formular. Već smo napravili uobičajeni konfiguracioni formular za modul, višestepeni formular se pravi na sličan način koristeći $form_state za čuvanje podataka između koraka formulara.
Primere koda možete pronaći na github-u:
https://github.com/levmyshkin/drupalbook8
Za višestepeni formular potrebno je dodati klasu formulara:
/modules/custom/drupalbook/src/Form/MultiStepForm.php


Konfiguracija u Drupalu je osnova za sva podešavanja tipova sadržaja, polja, konfiguracionih formi i promenljivih. Pomoću konfiguracije možemo prenositi izmene sa jednog sajta na drugi, razvijati različite funkcionalnosti paralelno i bez međusobnog ometanja.
Konfiguracije se mogu sačuvati u YML fajlovima i dodati u Git repozitorijum, tako da možete sačuvati izmene u podešavanjima sajta i preneti izmene na Dev ili Live. Ideja konfiguracije u Drupalu je slična načinu rada Features modula:
