26
Dr Nenad Kojić Visoka škola strukovnih studija za informacione i komunikacione tehnologije

Visoka škola strukovnih studija za informacione i ......učitava prvi deo sajta koji korisnik vidi, ovaj deo se koristi za u čitavanje svih eksternih fajlova koji web strani trebaju

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Dr Nenad Kojić

    Visoka škola strukovnih studija zainformacione i komunikacione tehnologije

  • O Zend_Layout -u

    � Zend_Layout predstavlja jednu od komponenata Zend framework-a, namenjenu za kreiranje, korišćenje i upravljanje sadržajem kroz upotrebu templete-a

    � Glavni zadaci Zend_Layout su:� Dohvata i obrađuje konkretne layout-e sa njihovim sadržajima� Obezbeđuje posebnu logiku za prosleđivanje promenjivih i

    sadržaja konkretnih layout-a� Omogući samostalnu organizaciju fajlova u smislu njihovih

    imena, putanja kojima se pozivaju i pratećeg skripta� Omogućava aktivaciju ili zabranu pojedinih layout-a u zavisnosti

    od potreba i omogući da se ove aktivnosti pozivaju kroz kontrolere, akcije i view-ove

    � Omoguće upotrebu unapred definisanih pravila prikaza (npr. ViewRenderer) ali dozvole u definisanje sopstvenih pravila

    � Omogući korišćenje i bez komponenti Zend framework-a

  • render

    � Ako se žele prikazati podaci iz nekog drugog fajla čije ime odstupa od podrazumevanog imena Actiona ili Viewa, potrebno je eksplicitno navesti ime tog fajla.

    $this->view->render(“drugi.phtml“);

    � //kod ako se za prikaz koristi drugi fajl koji se nalazi u nekom drugom direktorijumu

    $this->view->setScriptPath('/application/scripts/mobile/about/');$this->view->render('contact.phtml');

  • Aktivacija� Zend layout inicijalno nije uključen, pa samim tim

    nije ni aktivan� Njegova neaktivnost najlakše se vidi kroz strukturu

    foldera u folderu application� Inicijalno, njegova struktura je kao na slici� Da bi se aktivirao i layout, kuca se komanda

    zf enable layout

    � Posledica aktivacije biće promenjena struktura foldera, jer će se pojaviti i folder layouts

    � Automatski, u ovom folderu pravi se novisa nazivom scripts i sa fajlom layout.phtml

  • layout.phtml

    � Pored standardnog HTML koda, u ovom fajlu inicijalno se nalazi linija koda kojom se dohvata i prikazuje sav prosleđeni sadržaj, od strane bilo koje druge linije koda

    � Ako se pretpostavi da je sadržaj strane layout.phtml

  • Šta vidi korisnik?

    � Korisniku se prvo pikazuje deo koda iz layout.phtml, do linijekoda , pa sav sadržaj koji prosleđuju svi drugi kontroleri, actioni, metodi, ..., pa drugi deo koda u layout.phtml

  • Ideja

    � Obzirom da se kod primene layout-a, u delu za header, učitava prvi deo sajta koji korisnik vidi, ovaj deo se koristi za učitavanje svih eksternih fajlova koji web strani trebaju

    � To znači da treba pronaći način kako tu smestiti sve CSS fajlove, Java Script-e, jQuery biblioteku i slično

    � Sa druge strane, u vidljivom delu sajta, najčešće postoji veći broj divova namenjenih različitim sadržajima

    � Treba pronaći i način kako svakom od ovih divova definisati način na koji dobija dinamički sadržaj

  • PrimerP1

  • P1

  • Primer 2

    header

    meni content baner

    P2

  • Layout

    /stil.css" type="text/css">

    P2

  • Kontroler

  • Ostale .phtml strane� Index.phtml

    � meni.phtml

    Item 1 Item 2 Item 3 Item 4 Item 5

    � Baner.phtml

  • Parcijalni šabloni (Partial View)

    � Mnoge stranice se sastoje iz delova koji su zajednički tj. imaju isti kod za prikazivanje sadržaja.

    � Ova vrsta šablona se može koristiti i više puta u okviru strane.

    � Što se tiče imena pomenljivih u okviru parcijalnih šablona ona mogu biti ista kao i imena u glavnom prikazu (view-u) jer parcijalni šabloni predstavljaju zasebne poddomene.

    � Bilo bi dobro da se usvoje načini na koji se imenuju fajlovi koji se odnose na parcijalne šablone.

    � Fajlovi se smeštaju u application/views/scripts .

  • Primer

    � Vrlo pogodno za forume, blogove, komentare, sajtove gdese prikazuju proizvodi i sl.

  • Helpers

    � Helperi su posebni dodatak koji služi za lakše pripremanje pojedinih delova sadržaja (sajta)

    � Krajnji cilj im je priprema materijala za prikazivanje� Za razliku, od uopštenih view-a, oni se koriste za neke

    karakteristične delove aplikacije, koje su najčešće standardizovane, relativno jednostavne i predvidive

    � Primer za helpere: formatiranje datuma u unapred definisanom obliku, prikaz linkova, prikaz banera, ...

    � U Zend framework-u postoji veliki broj unapred definisanih Helpera, koje samo treba primeniti i ostvariti njihovu funkcionalnost na neki sadržaj aplikacije

  • HelpersNaziv Opis

    Action Omogućavanje slanja akcije kontrolera

    BaseUrl Definisanje korena URL adrese

    Currency Prikaz iznosa u lokalnom formatu

    Cycle Prikazuje podatke sa “zebra” efektom

    Partial Korišćenje template-a sa svojim promenljivim

    Placeholder Omogućavaju konzistentnost kod korišćenja view skripti i njihovih instanci

    JSON Koristi se kod view-a koji vraća JSON

    Breadcrumbs Koristi se za trenutno pozicioniranje korisnika unutar sitemap-a

    Links Koristi se kod obrade link tagova u HTML-u

    Menu Koristi se kod kreiranja menija

    Sitemap Koristi se kod generisanja XML sitemap-a

    TinySrc Omogućava API za promenu dimenzija ili formata slike

    Translate Omogućava prevođenje sadrćaja sajta na više jezika

  • Konkretni primeri helper-a Placeholder:

    Naziv Opis

    Doctype Integriše DOCTYPE direktivu u html dokument

    HeadLink Genisanje koda za eksterni CSS, favicon, RSS

    HeadMeta Generisanje meta tagova

    HeadScript Generisanje dela za script-ove

    HeadStyle Generisanje style taga

    HeadTitle Generisanje Title taga u HTML-u

    InlineScript Omogućavanje dodavanja ili uklanjanja inline klijentskog sktipta

  • Primeri helper-a u kodu*

    */

  • Navigation

  • Primeri helper-a u kodu$this->navigation()

    ->sitemap()->setFormatOutput(true); // default is false

    echo $this->navigation()->sitemap();

  • Primeri helper-a u kodu

  • Sopstveni helper� Pored helpera koji dolaze kao deo framework-a, programerima je

    na raspolaganju i mogućnost samostalnog pisanja helper-a� Ovi helperi se kreiraju u obliku php strane i smeštaju u folder

    application/views/helpers/

    � Jedino pravilo koje se mora ispoštovati je da se kod piše unutar

    klase koja je izvedena iz ugrašene klase

    Zend_View_Helper_Abstract

    � Primer

  • Dr Nenad Kojić

    Visoka škola strukovnih studija zainformacione i komunikacione tehnologije