Rad sa bazom podataka u Drupal 7 - lekcija 11 - Merge upiti (spajanje)
Merge upiti su specijalni hibridni tip upita. Iako je sintaksa za ove upite definisana u SQL 2003, zapravo ne postoji baza podataka koja podržava ovu sintaksu direktno. Međutim, većina baza nudi alternativne implementacije sa specifičnim sintaksama. Konstruktor merge upita u Drupalu apstrahuje koncept merge upita u obliku objekta, tako da se objekat može različito kompajlirati za svaku bazu, uzimajući u obzir njene specifičnosti.
Rad sa bazom podataka u Drupal 7 - lekcija 12 - Uslovi upita (WHERE, HAVING, LIKE)
Uslov upita omogućava da izaberemo samo one zapise koji zadovoljavaju određene kriterijume, na primer nodove kreirane ne starije od dve nedelje, termine koji sadrže reč „drupal“ i slično. U SQL-u koristimo WHERE i HAVING da postavimo ograničenja na SELECT, UPDATE, DELETE upite. U dinamičkim upitima je takođe implementiran mehanizam za rad sa uslovima upita. Ovaj mehanizam radi isto za sva tri tipa upita: selekciju, ažuriranje i brisanje.
Koncept uslovnih izraza
Uslov je sadržan u posebnom izrazu koji postavlja ograničenje.
Pravimo modul za Drupal, brz početak
Počnimo sa api.drupal.org, otvorite stranicu hook-a hook_node_presave(), koji se poziva pre dodavanja node-a.
http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7
Hook-ovi nam omogućavaju da ubacimo naš kod u standardni tok rada Drupala, dodajemo provere, podatkovna polja, elemente formi i slično.
Dodajemo naš modul u folder sites/all/modules:
Iz čega se sastoji modul za Drupal 7?
Pre nego što počnemo da pravimo naš modul, reći ću još nešto o mogućnostima Drupal API-ja. API pruža široke mogućnosti za rad sa taksonomijom, nodovima, korisnicima, unosom i prikazom podataka iz baze. Za međusobnu komunikaciju modula i jezgra Drupala, kao i modula međusobno, postoji sistem hook-ova. Hook je povratni poziv funkcije, odnosno kada se izvršavanje koda dođe do hook-a, izvršava se kod naše funkcije koju definišemo u modulu. Tako možemo obrađivati podatke korisnika, menije, taksonomije, nodove različitih tipova sadržaja.
Na stranici
Drupal 7 hook_block_info() i hook_block_view() prikazujemo informacije u bloku
U prethodnoj lekciji smo napravili modul za Drupal 7, a sada ćemo proširiti njegovu funkcionalnost. Dodamo prikaz bloka preko hook-ova hook_block_view() i hook_block_info(). U ovom bloku prikazaćemo informacije o poslednjim korisnicima na sajtu sa linkom ka njihovoj stranici.
Počnimo sa opisom hook_block_info():
Ovaj hook definiše sve blokove koje modul kreira.
On govori Drupalu koje blokove modul može prikazivati i može opisati podešavanja prikaza bloka.
hook_menu Drupal 7 kreiranje stranica kroz modul
U prethodnoj lekciji smo videli kako prikazati informacije iz baze podataka koristeći Drupal API, tačnije hook-ove hook_block_info() i hook_block_view(). U ovoj lekciji ćemo prikazivati stranice, odnosno pomoću hook_menu ćemo povezati stranicu sa drugim delovima Drupala: menijima, modulima za prevod, šablonima itd.
hook_permission Drupal 7 dozvole za pristup za različite uloge
U prethodnim lekcijama prikazivali smo stranice i blokove na različitim mestima, koristili smo svojstva 'access arguments', 'access callback' za postavljanje ograničenja pristupa stranicama. U ovoj lekciji ćemo napraviti mogućnost fleksibilnijeg uređivanja prava pristupa operacijama putem administratorskih stranica. Za to ćemo koristiti hook_permission() (u Drupalu 6 to je bio hook_perm()).
hook_permission()
Definiše dozvole za korisnike.
Form API Drupal 7 kreiranje formi na Drupalu
U prethodnim lekcijama upoznali smo se sa hook-ovima hook_block_info(), hook_block_view(), hook_menu(), hook_permission() i sada možemo programski kreirati koliko god želimo stranica i blokova. U ovoj lekciji upoznaćemo se sa Form API Drupal 7 za kreiranje formi. Napravićemo formu za administraciju funkcija modula i pokušati koristiti što više poznatih hook-ova kako bismo učvrstili znanja.
Za početak ćemo prikazati 3 bloka, mislim da vam to neće biti teško.
Temizacija Drupal-a (stilizacija, šabloni)
Iz prva dva dela Drupal priručnika sa drupalbook.org ste naučili kako instalirati sajt, dodavati tipove sadržaja, kreirati materijale različitih tipova sadržaja i kako prikazivati te materijale putem Views. U narednim delovima ste mogli naučiti o HTML/CSS. Sada je vreme da pričamo o tome kako promeniti izgled tih materijala pomoću CSS-a.
Temizacija sajta Drupal 6/7. Od čega se sastoji šablon?
Zdravo svima!
Nadam se da ste već pogledali kratki uvod u HTML i CSS. Sada ste spremni da pravite Drupal teme zasnovane na PSD maketama. Ispod su linkovi ka "priručnicima" za HTML i CSS:
Naredni video zapisi na prvi pogled mogu biti teški za razumevanje, ali ćemo ih u narednim lekcijama detaljno razraditi, tako da ne brinite ako nešto ne bude jasno. Vratite se na ovaj članak i koristite ga kao referentni materijal.