[python] ZTP - header - foother

ViNiL vinil na zagamma.cz
Pátek Únor 13 12:20:58 CET 2004


jose007 na centrum.cz napsal(a):
> Zdravim,
>   po precteni nekolika clanku o Zope jsem se rozhodl jej vyzkouset a pripadne trochu naucit.
> Po stahnuti zope booku jsem si zkousel ruzne priklady, pri zkouseni prikladu ZopeZOO, jenz je
> implementovan pomoci DTML metod, jsem si jej chtel zkusit prepsat do ZPT, ale zjiztil jsem, ze nevim 
> jak vytvorit page header a page footer, jelikoz z definice ZPT jsem pochopil ze jednotlive sablony musi byt
> validni XML. Problem je v tom, ze mi v sablone header zustavaji otevrene tagy hrml a body, ktere se uzavrou az sablone footer. 
>   Rad bych tedy poprosil o vysvetleni politiky ZPT a jak se takovato separace provadi v ZPT. Predem dekuji.

ZPT vychazi z myslenky spoluprace webdesignera (graficky truhlik, co 
nerozumi programovani) a webprogramatora (zopi truhlik, co nerozumi 
grafice).

1) Jednoduche reseni
ZPT vychazi vzdy z HTML stranky designerova navrhu, programator se jen 
postara a funkcni casti. Neni zde tedy misto pro header a footer, nebot 
o jednotnost vzhledu se stara designer (vselijake graficke HTML tvorice 
umoznuji nadefinovat zkladni vzhled vyrabenych stranek a kdyz ten se 
zmeni, tak designer jen necha pregenerovat stare stranky do noveho designu).

2) "Profi" reseni
Pouziva se treba v CMF Plone. ZPT jsou take cele HTML stranky, ale 
programator zajisti, aby se patricne casti (zacatky a konce v pripade 
header a footer ;-) nahradily expanzi patricneho makra. Makra jsou pak 
ZPT, obvykle prazdne HTML stranky, ktere jen definuji nejakou 
funkcionalitu. V Plone je vlastne jakasi indexova ZPT, ktera vytvari 
zakladni strukturu HTML stranky a v ruznych casti se expanduji makra 
vytvarejici ten vlastni obsah, podle uzivatele, mista kde je a co tam 
dela. Umoznuje to tedy naprostou skinovatelnost (i funkcionalni). Jen 
zacatecniky tento "Zope buchar" ponekud odrazuje ;-)


Hm, tak nevim, jestli se mi to podarilo vysvetlit.




-- 

Vladimír Linek <vinil na zagamma.cz>
Zagamma Labs




Další informace o konferenci Python