Articles

U prethodnim člancima smo videli kako funkcioniše tip polja Link: skladištenje, vidžet, format. U ovom članku ćemo napraviti sopstveni osnovni tip polja za prikazivanje video zapisa sa YouTube-a na stranici sa dva različita formata i podešavanja.
Ovaj članak je fokusiran na Fields API, i ako vam je potrebno da dodate Youtube video polje na svoj sajt, bolje je koristiti gotov modul:


Ovo je čest slučaj prilikom razvoja Drupal modula. Trebalo bi koristiti entityQuery gde je to moguće, ali ponekad je potrebno koristiti SQL upite za dobijanje složenijih podataka.
Možete dodati ovu stranicu u omiljene kako biste uvek imali kod za brzo podsećanje kako izvršavati MySQL upite select, insert, update, delete u Drupalu.
Select
Dobijanje jedne vrednosti:


U ovom članku ćemo razmotriti Field Formatters, koji nam omogućavaju da uredimo prikaz polja i prikažemo ih na stranici.
U prethodnim člancima smo kreirali tip polja Link, a u ovom članku ćemo pogledati kako se ta polja prikazuju na stranici i koja klasa je za to odgovorna. Svako polje koje dodate kroz Drupal može biti prikazano na stranici i možete urediti njegova podešavanja na stranici Manage display.


Sistem događaja omogućava kreiranje složenijih sistema sa mogućnošću menjanja funkcionalnosti pomoću prilagođenog koda za određene događaje. Mnogi hook-ovi iz Drupala 7 su zamenjeni događajima. Ovo je omogućilo ujedinjenje rada mnogih delova Drupala i dodatnih modula. Sam sistem događaja potiče iz Symfony-a i sastoji se od sledećih delova:
Event Subscribers – „Pretplatnici“ na određene događaje su funkcije ili metode koje se izvršavaju na određenim događajima. U kodu je to klasa koja implementira klasu:


U prethodnim člancima već smo se susreli sa kukicama (hook-ovima). U ovom članku ćemo detaljnije pogledati kukice koje vam pomažu da radite sa entitetima.
U ovom članku možete pročitati uopšteno šta su kukice i zašto su potrebne:
http://drupalbook.org/drupal/92-what-hook-drupal-8
Kukice koristimo da dodamo sopstveni kod koji će se pokrenuti na određene događaje vezane za entitete: dodavanje, brisanje, izmena.
Sve Drupal kukice možete videti na ovoj stranici:


Rad sa entitetima u Drupalu je jedinstven, a sve CRUD operacije su takođe iste za sve entitete. U ovom članku ćemo razjasniti kako raditi sa entitetima u prilagođenom kodu.
Prvo pogledajmo jednostavne primere.


Dobijanje vrednosti polja u entitetima je prilično jednostavno, ali postoji nekoliko načina da se to uradi. Pogledajmo kako je najbolje raditi sa vrednostima polja u prilagođenom kodu. Uvek možete pogledati najnovije informacije o radu sa poljima na zvaničnom sajtu:
https://www.drupal.org/docs/8/api/entity-api/working-with-the-entity-api
U ovom članku ćemo pogledati primere rada sa vrednostima.


Već smo upoznati sa Form API, Fields API i znamo kako podaci u Drupalu dospevaju u bazu podataka. Sada ćemo pogledati temelj svih Drupal sajtova, naime Entity API.
Verovatno ste primetili da polja ne postoje sama za sebe, već su „prikačena“ za entitete: nodove, blokove, termine taksonomije, views i slično. Možete kreirati bundle entitete, na primer tipove materijala, tipove blokova, rečnike taksonomije. Ali šta ako treba da napravite novi entitet sa sopstvenim bundle-ovima? U tom slučaju trebaće vam Entity API za kreiranje novog entiteta.


Relacije su veoma važan deo Drupala, jer se tako kombinuju taksonomski termini i sadržaj, korisnici i sadržaj, proizvodi i prikaz proizvoda u Commerce modulu. Zahvaljujući ovome možemo prikazivati polja korisnika prilikom prikaza polja materijala, a kod prikaza proizvoda možemo prikazati njihovu cenu i broj artikla.


Korisnici – ovo je jedna od glavnih funkcija Drupala, možemo kreirati i brisati korisnike. Korisnici na sajtu ostavljaju komentare, recenzije, materijale. Drupal ima sisteme za moderaciju korisnika. I ovo je samo deo funkcionalnosti Drupala, zato je važno razumeti administratorski panel Drupala kako bismo sve to upravljali.
Idemo na Podešavanja naloga (Account settings):
