Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Poglavlje 5 - deo 1: Korišcenje šablonskih stranica u ZOPE-u (slobodni prepev na srpskom jeziku)

[es] :: Python :: Poglavlje 5 - deo 1: Korišcenje šablonskih stranica u ZOPE-u (slobodni prepev na srpskom jeziku)

[ Pregleda: 2875 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

drazha
Dragutin Cvetkovic
Dublin, Ireland

Član broj: 3314
Poruke: 46
*.wise.edt.ericsson.se

ICQ: 14298483


Profil

icon Poglavlje 5 - deo 1: Korišcenje šablonskih stranica u ZOPE-u (slobodni prepev na srpskom jeziku)24.06.2003. u 16:07 - pre 252 meseci
Napomena: ovoga ima dosta, pa ce ici u delovima.

Uvod

Šablonske stranice (Page templates) su sredstvo za stvaranje web stranica. Uz pomoć njih, programeri i dizajneri lakše saraduju pri stvaranju dinamičkih stranica za Zope aplikacije. Dizajneri ih mogu koristiti za rad na svojim stranicama bez potrebe da se odriču svojih uobičajenih alatki, a da pri tome ne narušavaju deo koda koji je potreban za aplikativnu (programersku) stranu.

Dakle, da pojasnimo: dizajner može koristiti svoju omiljenu alatku (recimo DreamWeaver) za stvaranje željenog šablona, i kad reši da je potrebno nešto promeniti na datoj stranici sa aspekta dizajna, izmeniti je uz pomoc te iste alatke na istoj fajli/datoteci (šablonu) i pri tome ne narušiti aplikativno/programske komponente tog istog šablona (uz evenutalno malo vođenja računa o tome, jer ipak, ništa nije toliko idiot-proof).

Šablonske stranice ovo pokušavaju da ostvare uz pomoć tri principa:

1. Alatku za razvoj dizajna treba koristiti pametno i relativno oprezno.
2. Ono što vidite je jako slično onome što ćete dobiti (What you see is very similiar to what you get).
3. Držite kod van šablona, osim kad je u pitanju implementacija strukturne logike.

Praćenjem ovih principa šablon ispunjava svoju namenu, a što je najbitnije, dobija se sintaksno ispravna HTML stranica.

Šablonske stranice vs. DTML

A zašto koristiti šablonske stranice kada već imamo DTML?

DTML ima dve osnovne mane: jednom kad se stranica prevede iz HTML-a u DTML, vraćanje je izuzetno teško i taj proces često narušava sam kod stranice a samim tim narušava i aplikativnu funkcionalnost. Druga mana je ta što DTML ne razdvaja uspešno prezentaciju, logiku i sadržaj, a upravo mogućnost razdvajanja ta tri elementa predstavlja osnovu filozofije Zope platforme.

Jedna od osobina šablonskih stranica jeste i ta da one stvaraju ili HTML ili XML stranice, i nizašta drugo nisu namenjene. Samim tim DTML je daleko povoljniji za stvaranje drugih dinamičkih sadržaja, npr. same poruke neke dinamičke elektronske pošte.

Kako rade šablonske stranice?

Šablonske stranice koriste “Template Attribute Language” ili TAL (u slobodnom prevodu: Jezik za opis atributa pomoću šablona).

Da bi se ovo podrobnije objasnilo, prvo se mora objasniti sama struktura HTML “tag”-a (etikete). Pogledajmo sledece parce HTML koda:

Code:
<IMG SRC="slika.jpg">


Ovde IMG označava sam HTML “tag”, tj funkciju HTML “tag”-a. SRC je atribut svojstven IMG funkciji HTML “tag”-a. Deo koda koji ide između navodnika, tj "slika.jpg" je vrednost atributa SRC.

Sledeći primer:

Code:
<title>Ovo je naslov</title>


Ovde ćemo izdvojiti sledeći deo ovog HTML izraza: "Ovo je naslov" i nazvati ga sadržajem ove TITLE funkcije HTML “tag”-a.

Sada kad smo odredili neke osnovne pojmove, možemo nastaviti. TAL čine skup posebnih atributa “tag”-ova koje Zope platforma tumači na sopstven način i na osnovu tog tumačenja stvara određeni sadržaj. Prost primer koda jedne šablonske stranice bi bio:

Code:
<title tal:content="here/title">Ovo je naslov</title>


Ovde "tal:content" čini TAL atribut TITLE funkcije HTML “tag”-a. Kako ovaj atribut po svojoj strukturi i obliku liči na XML (a kasnije ćemo videti i da na neku ruku i jeste XML izraz), većini modernih WYSIWYG alata za dizajn web stranica neće smetati njegovo prisustvo, i samim tim se neće ni truditi da ga menja ili obradi.

Ime 'content' označava da će sadržaj TITLE “tag”-a biti zamenjen vrednošću koju će stvoriti "here/title" izraz.

Kako svaki objekat u Zope platformi poseduje odredjeni broj atributa i promenljivih, TAL njih može prozvati i iskoristiti za stvaranje dinamičkog sadržaja. Ako u ovom navedenom primeru prepostavimo da ce “title” te šablonske stranice (objekta) biti "Pera and Laza co." Zope će na osnovu tumačenja TAL koda i vrednosti koje su date "here/title" izrazom, stvoriti sledeci HTML kod:

Code:
<title>Pera and Laza co.</title>


i time zameniti "Ovo je naslov" sa vrednošću “title” promenljive te određene šablonske stranice (objekta) koji je u ovom slučaju "Pera and Laza co." Ako sutradan Laza reši da ode, Pera može promeniti vrednost “title” promenljive te određene šablonske stranice (objekta) u "Pera and sons co." Mislim da već znate odgovor na pitanje kako će izgledati stvoreni HTML kod tada.

Nadam se da sam uspeo da vam dočaram i demonstriram kako se šablonskim stranicama mogu razdvojiti tri osnove na kojima Zope počiva: prezentacija, logika i sadržaj. Takođe se nadam da sam uspeo da vam pojasnim i značenje principa "Ono što vidite je jako slično onome što ćete dobiti". Dizajner i dalje može bez puno straha da radi svoj posao, programer može da spava mirno jer zna da će sutradan kad dođe na posao moći da nastavi tamo gde je stao, a šef je zadovoljan jer nije ubio 3 dana posla zbog jednog dodatnog banera na sajtu, i sav sadržaj je tamo gde i treba da bude.

Naravno postoje i drugi TAL izrazi i atributi. Uz pomoć TAL-a moguće je menjati sadržaj drugih atributa unutar istog “tag”-a, moguće je menjati i same atributite, a moguće je menjati i ceo “tag”. Moguće je stvoriti uslovne izraze, moguće je i stvoriti sadržaj koji će se ponavljati kao nekoj for... petlji.

Međutim, uprkos svim ovim mogućnostima, TAL se nemože koristiti za stvaranje podrutina, klasa, izvoditi složenija kontrola sadržaja i sl. To i dalje ostaje na Python skriptama, DTML metodama i drugim objektima unutar Zope platforme.

Sledeći put: Kako stvoriti šablonsku stranicu


When you look long into an abyss,
the abyss also looks into you.

--Nietzsche
 
Odgovor na temu

[es] :: Python :: Poglavlje 5 - deo 1: Korišcenje šablonskih stranica u ZOPE-u (slobodni prepev na srpskom jeziku)

[ Pregleda: 2875 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.