Drupal CCK + Views. Promena izgleda galerije zaposlenih.
U prethodnom času pomoću Drupal modula Views i CCK napravili smo galeriju zaposlenih koja se puni kreiranjem sadržaja tipa "Zaposleni". U tipu sadržaja Zaposleni dodali smo dva polja: Ime i prezime (text field) i O zaposlenom (textarea). Ovaj čas je napravljen da pokaže da se isti podaci mogu prikazivati na različite načine kroz View.
Trenutno galerija zaposlenih izgleda ovako:
Za lakši pristup sam u meniju napravio link do prikaza zaposlenih. Kao putanju do prikaza koristite svojstvo path prikaza "Stranica".
Metod 1. Hajde da radimo sa prikazom (View) galerije zaposlenih: uklonićemo iz opšte galerije opis svakog zaposlenog i napraviti da ime i prezime budu link na čvor zaposlenog.
Prvo je potrebno ukloniti polje opisa iz prikaza galerije zaposlenih. Idemo u listu prikaza (Struktura sajta - Views) i biramo naš prikaz galerije, kod mene je to view_sotrudniki.
Potrebno je kliknuti na dugme za izmenu polja i obrisati polje opisa zaposlenog. Nakon brisanja sačuvajte izmene. Ne bojte se da brišete bilo šta iz prikaza, brisanjem polja ne brišete podatke.
Sada bez opisa prikaz izgleda ovako:
Sada ćemo napraviti da ime i prezime budu link na čvor zaposlenog. Ulazimo u prikaz zaposlenih i biramo polje Ime i prezime:
Na dnu će se pojaviti podešavanja polja Ime i prezime, treba izabrati "Link this field to its node" (poveži ovo polje sa njegovim čvorom):
Sačuvajte izmene, ne zaboravite sačuvati i ceo prikaz. Sada je ime i prezime link na čvor zaposlenog:
Metod 2. Napravimo da ime i prezime budu link na prikaz galerije zaposlenih, ali da se u linku prosledi broj čvora zaposlenog.
Po broju zaposlenog prikazaćemo blok sa opisom zaposlenog, odmah ispod galerije. Na primer, ako je broj čvora zaposlenog 10, link na njegovo ime i prezime biće ime_sajta/sotrudniki/10.
Idemo u prikaz naše galerije i dodajemo polje Sadržaj: nid. Nid je skraćenica od node id, tj. redni broj trenutnog čvora. Prilikom dodavanja nid treba podesiti da se vrednost ne prikazuje (Exclude from display).
Nid treba postaviti na vrh liste polja, da vrednost bude dostupna prilikom pravljenja linka za ime i prezime.
Sada u podešavanjima polja Ime i prezime podesimo link u obliku sotrudniki/[nid].
Uklonimo ček sa Link this field to its node, uključimo Output this field as a link (Prikaži ovo polje kao link). Kao vrednost linka koristimo šablone za unos, tačnije [nid]. Polje Sadržaj: nid smo pomerili na vrh, pišemo sotrudniki/[nid]. Sačuvaj polje i prikaz.
Sada treba napraviti blok u kome će biti prikazan opis zaposlenog. Nazvaćemo ga view_block_sotrudniki. U ovom prikazu dodajemo display tip Blok.
Dodajemo polja:
Sadržaj: Ime i prezime
Sadržaj: O zaposlenom
Filteri:
Sadržaj: Objavljeno - da
Sadržaj: Tip - zaposleni
Argument:
Sadržaj: nid - u podešavanjima argumenta treba podesiti sledeće:
Provide default argument - ako argument nije prosleđen, omogućava da se argument dobije pomoću funkcije arg() ili druge. Funkcija arg() u zagradi ima broj argumenta iz URL (sotrudniki/[nid]), numeracija počinje od nule, pa biramo drugi argument tj. broj čvora [nid], prvi argument je "sotrudniki".
Drugi mogući argumenti:
Node ID from URL (broj čvora iz URL) - radi kada je prvi argument node (npr. node/14);
Taxonomy Term ID from URL (broj termina taksonomije) - radi kada je prvi argument term, modul Taksonomija (Taxonomy) biće detaljnije objašnjen u nekom od narednih časova;
User ID from URL (broj korisnika) - radi kada je prvi argument user;
Obradićemo ove argumente u drugim časovima, a sada unosimo PHP kod return arg(1);
Sačuvaj argument i ceo prikaz. Sada će se pojaviti blok view_block_sotrudniki: Blok. Blok se kreira svaki put kada se u nekom view-u doda display tip Blok. Postavimo blok view_block_sotrudniki: Blok u region Sadržaj (content). U podešavanjima vidljivosti bloka treba navesti da se blok prikazuje samo na stranicama gde se u URL nalazi reč sotrudniki i posle nje broj čvora (/* - zvezdica posle kosa crte označava da se očekuje neki sadržaj posle kosa crte).
Posetite stranicu ime_sajta/sotrudniki, sada klikom na ime i prezime zaposlenog pojaviće se blok sa informacijama o tom zaposlenom.