3.5.0. Pregled Views modula.
Ako ste zainteresovani za Drupal, pre ili kasnije ćete naići na Views modul. Ovaj modul vam omogućava da prikažete skoro sve što postoji u Drupalu: korisnike, sadržaj, komentare, taksonomiju. Štaviše, omogućava vam da prikažete tabele, blokove, slider-e, kalendare, liste, grafikone i druge vrste podataka i dizajna. Ovaj modul je uveden u Drupal jezgro od verzije 8. Hajde da pogledamo ovaj modul.
Prvo na šta treba da obratite pažnju je veličina modula; i Views i Views UI moduli zauzimaju 808 odnosno 3.6 megabajta. Ogroman modul, ali ne morate znati kako funkcioniše da biste ga koristili. Views ima prilično veliki interfejs koji možete razumeti bez programerskog znanja ako to želite.
U Drupal meniju, Views se nalazi u Struktura — Views:
Kao što vidite, Views prikazuje glavnu stranicu, nove komentare, korisnike koji su nedavno posetili sajt i mnoge druge liste.
Idemo u Views za početnu stranicu. Kliknite na dugme Izmeni (Edit) u liniji Frontpage view-a.
Ispod ću dati opis svakog od blokova i link do odgovarajućeg članka koji opisuje taj blok.
Prvenstveno treba obratiti pažnju šta Views prikazuje:
U ovom view-u prikazujemo sadržaj, tj. nodove našeg sajta. To može uključivati taksonomiju, komentare, korisnike i slično. Ovo podešavanje se postavlja prilikom kreiranja view-a i kasnije se ne može menjati, osim ako view ne napravite iznova. Zato prilikom kreiranja view-a treba da znate šta ćete prikazivati.
Dalje možemo podesiti administrativni naslov prikaza, ime koje će biti prikazano unutar view-a i gde god ovaj view može biti prikazan. Ispod se prikazuje naslov koji će biti prikazan direktno na sajtu, stranici ili bloku.
Ispod je format bloka. Views se može proširiti drugim modulima i na taj način proširiti mogućnosti prikaza informacija. Na primer, ako instalirate Views Slideshow modul, možete prikazivati slider-e:
https://www.drupal.org/project/views_slideshow
Ako dodate Calendar modul, biće prikazan kalendar:
https://www.drupal.org/project/calendar
Postoji mnogo sličnih modula, lako možete pronaći ono što vam treba koristeći Google pretragu i ukucavanjem Drupal views (ime onoga što želite da prikažete).
Po defaultu možemo prikazivati u blokovima (Unformatted list), HTML listi (tagovi <ul>, <li>), Grid-u (tabela bez zaglavlja), Tabeli (sa zaglavljima i mogućnošću sortiranja).
U podešavanju Prikaži (Show) možemo odabrati kako će podaci biti prikazani u view-u, u poljima ili u celosti prikazujući teaser ili celu entitetu. Prikazivanje u teaser-u je prilično praktično. Pretpostavimo da imamo standardni prikaz proizvoda u teaser-u: slika, ime, cena i dugme za kupovinu. Potrebno je prikazati ovaj tip proizvoda u mnogo blokova: kategorije, slični proizvodi, preporučeni proizvodi, korpa. Ako ne želimo da dupliramo CSS kod, možemo jednostavno jednom stilizovati prikaz teaser-a i zatim taj teaser ubacivati u druge view-ove.
Polja (Fields)
U poljima možemo izabrati polja iz nodova, na primer naslov i sadržaj. Ovde možemo upravljati prikazom polja, grupisati ih.
Kriterijumi za filtriranje (Filter criteria)
Ovde biramo polja po kojima ćemo filtrirati sadržaj, na primer naslov ili datum.
Kriterijumi za sortiranje (Sort criteria)
Nakon što smo filtrirali potrebne podatke, dobro bi bilo i da ih sortiramo. Na primer, prikazati najnovije vesti na vrhu.
Podešavanja stranice (Page Settings)
Ovde možemo podesiti putanju na kojoj će se prikazati stranica view-a i podesiti pristup tako da, na primer, samo ovlašćeni korisnici imaju pristup ovom view-u.
Zaglavlje i podnožje (Header and Footer)
Omogućavaju prikaz podataka na vrhu ili dnu view-a. Pri tome, ne moramo se ograničiti na običan HTML, već možemo ubaciti polja iz view-a ili čak ubaciti drugi view u naš view.
Poruka o neuspehu (No results behavior)
Funkcionalnost ovog bloka je ista kao i kod zaglavlja, samo što se ovde prikazuje kada view ne dobije nikakve podatke za prikaz.
Paginacija (Pager)
Paginaciju nam treba kada su liste jako duge i potrebno ih je podeliti na delove. Na primer, imamo 100 vesti, ali želimo da prikazujemo po 10 na stranici.
Jezik (Language)
Omogućava izbor jezika za view. Obično se koristi na višejezičnim sajtovima.
Napredno (Advanced)
Ovde počinju opcije za koje je potrebno dublje razumevanje.
Kontekstualni filteri (Contextual Filters)
Kontekstualni filteri omogućavaju prikaz podataka na osnovu URL adrese stranice, na primer, ako je node/10, ti filteri prikazuju podatke za nod sa ID 10. Možete podesiti filter da radi i sa korisnicima i da prikazuje nodove koje je korisnik kreirao na njegovoj korisničkoj stranici.
Relacije (Relationships)
Relacije su moćan alat koji omogućava prikaz povezanih entiteta, na primer, nodova i komentara na njih, kategorija i nodova u kojima se te kategorije nalaze, korisnika i sadržaja koje je kreirao.
Izloženi filteri (Exposed form)
Ovo su podešavanja za filtere koje ste izabrali kao izložene, kako biste mogli dinamički menjati filtere u view-u radi pretrage korisnika.
Ostala podešavanja (Other settings)
Mašinsko ime. Možete ga promeniti radi preglednosti, umesto page_3, page_4.
Administrativni komentar - služi za beleške o ovom view-u, koje su vidljive administratorima sajta.
Koristi Ajax. Ajax za view može raditi sa paginacijom, tj. imate 10 vesti prikazanih, kliknete na paginaciju da biste prikazali narednih 10 vesti i one se učitavaju bez osvežavanja cele stranice.
Sakrij priloge u zbirnom prikazu. Ova opcija omogućava da sakrijete priloge sažetka, u koji možete prikazati drugi view, na primer, koristi se u glosarima gde je na vrhu prikazana lista slova, a ispod sadržaj za ta slova.
Kontekstualni linkovi. Potrebni su za brz prelaz na uređivanje view-a.
Koristi agregaciju. Koristi se za brojanje broja redova koje prikazuje view. Na primer, možete izračunati broj nodova za svaki odeljak sajta.
Podešavanja upita. Kada koristite veze, zapisi se mogu duplirati pri prikazu, u tom slučaju možete ući u ovo podešavanje i uključiti Distinct za view.
Keširanje. View je prilično zahtevan, zato je bolje keširati retko ažurirani view.
CSS klasa. Možete navesti sopstvenu klasu za lakše stilizovanje view-a.