Šablony stránek pro Zope: další praktické příklady
Webové aplikace (neboli dynamické webové stránky) vznikají často ve skriptovacích jazycích PHP nebo .ASP. Tyto jazyky poskytují velké množství užitečných funkcí, ale neoddělují výkonné (neboli logické) části programu od částí, které se starají o prezentaci dat. Oddělení logiky od prezentace je hlavním trendem moderních webových aplikací, protože usnadňuje údržbu a zpřehledňuje aplikaci.
Seriál Dynamický web snadno a rychle
- Šablony stránek pro Zope: získávání
- Šablony stránek pro Zope: tal:replace
- Šablony stránek pro Zope: další praktické příklady
- Šablony stránek pro Zope: překrývání technologií
- Šablony stránek pro Zope: dokumentace
V minulém dílu seriálu jsme viděli nové možnosti typu cesta. Dnes si ukážeme tento typ v dalších praktických příkladech. Zkuste si následující zdrojový kód uložit do šablony typcesta:
<p>Toto je <b tal:replace="here/title">Název složky</b></p> <p>Jsme na adrese: <b tal:replace="request/URL">URL</b></p> <p>Přihlášený uživatel:
<b tal:replace="user/getUserName">Uživatel</b></p> Šablonu typcesta můžete volat na všechny objekty ve složce /test.
http://localhost:8080/test/typcesta
http://localhost:8080/test/t1/typcesta
http://localhost:8080/test/t1/obrazek1/typcesta pokud máte v této složce obrázek s názvem obrazek1
http://localhost:8080/test/zisk/typcesta
První řádek šablony typcesta používá pro umístění příkazu ZPT značku <b>. Ve zdrojovém kódu dynamické verze této stránky se ovšem značka <b> neobjeví, protože jsme použili tal:replacemísto tal:content. Když už je tedy značka <b> zbytečná, můžeme se bez ní obejít, aby nemátla webdesignera (ve statické verzi by byl text tučný, v dynamické nikoliv, a to by bylo docela matoucí). S výhodou lze použít značku <span>, která byla už dávno zavedena do normy jazyka HTML jako obecná strukturální značka. Obsah značky <span> totiž zobrazují i velmi staré prohlížeče, které nerozumějí parametrům definovaným pro tuto značku. Značka <span> nijak nemění vzhled textu.
Druhý řádek používá cestu request/URL pro zobrazení aktuální adresy požadavku HTTP. Objekt request je hodně zajímavý a často využívaný, a to nejen v Zope, ale obecně ve webovém programování. Reprezentuje požadavek HTTP, odeslaný klientským softwarem, tedy zpravidla webovým prohlížečem. Požadavek HTTP je vlastně žádost o zaslání webové stránky. Klientský software vkládá do požadavku různé zajímavé informace, další užitečné informace se v požadavku ocitnou i díky serverové straně, například přes Zope nebo případně z webového serveru Apache, jenž bývá někdy předřazen před samotný Zope.
My se podíváme, jak tento objekt vypadá konkrétně v Zope. Objekt requestmimo jiné zpřístupňuje také cesty request/form/název_formulářové_proměnné a request/cookies. Tyto cesty jsou dále adresovatelné. Zkuste například cestu request/cookies/tree-s. Objeví se obsah cookie (sušenky) tree-s, kterou používá samotné Zope.
Podobně můžete zobrazit request/form/prijmeni, pokud by požadavek HTTP obsahoval formulářovou proměnnou prijmeni. Protože momentálně žádný webový formulář nemáme, můžeme simulovattento požadavek tak, že vložíme parametr přímo do URL:
http://localhost:8080/test/typcesta?prijmeni=Novak
Požadavek HTTP je vůbec zajímavý. Zkuste vytvořit šablonu s názvem třeba req, která vám ho zobrazí celý:
<hr> <span tal:replace="structure request">požadavek HTTP</span> <hr> Zobrazení celého požadavku HTTP je mimochodem velice užitečná metoda ladění. Výše uvedený řádek používejte jako první pomoc, jakmile se váš program nechová podle předpokladů.
Rekapitulace
Předchozí text se hemží zkratkami a názvy technologií, které tvoří Zope. Vyznat se v tomto bludišti není právě snadné. Pro vaše pohodlí uvedu jejich přehled, včetně technologií, které budou představeny v budoucích pokračováních. V příštím pokračování se na některé technologie podíváme blíže, aniž bychom ztratili ze zřetele centrum našeho zájmu – šablony ZPT.
| Název |
Název česky |
Popis |
Použití |
| ZPT, Zope Page Templates |
Šablony stránek |
Prezentační jazyk Zope |
Prezentace dat získaných přímo ze ZODB, ze skriptů Python, ZSQL, ZCatalog a z Externích metod |
| ZMI | ZMI |
Ovládání Zope |
Díky ZMI (Zope Management Interface) se Zope ovládá přes webový prohlížeč. |
| Python Script |
Skripty v Pythonu |
Logický jazyk Zope |
Logická příprava dat pro prezentaci. Zpracování dat. Vhodné pro krátké a středně velké programy v Pythonu. |
| External Methods |
Externí metody |
Logický jazyk Zope | Mohou přímo volat libovolné externí programy. Vhodné pro středně velké a rozsáhlé programy v Pythonu. |
| Products |
Produkty |
Hotové stavební cihly |
Hotové prvky, které mohou sloužit jako stavební prvky (prefabrikáty) pro vaše aplikace. |
| ZClass |
ZClass |
Implementace dědičnosti |
Rychlý návrh aplikací a vyzkoušení koncepcí. |
| DTML |
DTML |
Prezentační jazyk s logickými prvky | V minulosti používán nejen k prezentaci, ale i k programování. Dnes v podstatě zastaralý. |
| ZSQL |
ZSQL |
Rozhraní pro relační databáze |
Relační databáze SQL můžete v Zope používat pomocí mini-jazyka ZSQL. |
| ZEO |
ZEO |
Clustering a škálování |
Zope se škáluje zakoupením většího množství serverů, libovolně zeměpisně rozložených. Technologie ZEO se postará o rozdělení zátěže mezi tyto servery. |
| ZODB | ZODB |
Databáze |
Objektová databáze pro Zope. |
| ZCatalog |
ZCatalog | Indexování databáze |
Databáze ZODB používá ZCatalog pro tvorbu indexů a rychlé vyhledávání v datech. ZCatalog umožňuje i fulltextové vyhledávání s operátory AND, OR apod. |
| Version |
Verze |
Undo pro ZODB |
Populární funkce Undo (krok zpět) na steroidech. |
| Acquisition |
Získávání |
Funkce |
Zrychluje, zlevňuje a zjednodušuje programování dynamických stránek. |
| Caching |
Caching |
Cache pro webové aplikace |
Pro úsporu času centrálního mikroprocesoru umí Zope cachovat často používané segmenty dynamických stránek. |
Školení SEO (optimalizace pro vyhledávače)

- Jak fungují vyhledávače a co od nich můžete očekávat.
- Analýza klíčových slov - kde hledat, jak slova vybrat, jak optimalizovat.
- Metody linkbuildingu - jak získat zpětné odkazy aniž byste za ně museli platit.
- Vyhodnocování SEO - nesledujte jen pozice.
Další informace o školení SEO »
Seriál Dynamický web snadno a rychle
- Šablony stránek pro Zope: získávání
- Šablony stránek pro Zope: tal:replace
- Šablony stránek pro Zope: další praktické příklady
- Šablony stránek pro Zope: překrývání technologií
- Šablony stránek pro Zope: dokumentace
Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.


