Jak vytvorit sablonovaci system

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
hizo
Člen | 48
+
0
-

Zdravim,

mohli by ste mi prosim v skratke popisat ako sa pri zivotnom cykle presenteru spracovavaju vytvorene latte sablony? musim vymysliet sablonovaci system pre xml subory do nette. som dost zaciatocnik tak pomoze hocico, co i len nasmerovanie spravnym smerom.

Filip Procházka
Moderator | 4668
+
0
-

Ale nemusíš…

  1. XMLka můžeš generovat i s pomocí Latte, HTML je totiž tak trochu kamarád s XML.
  2. proč bys proboha generoval XMLko přes šablonu? Trochu prasátko ne? Na to je snad DomDocument

Editoval HosipLan (12. 11. 2011 17:30)

hizo
Člen | 48
+
0
-

to vsetko viem, ja to mam vsak ako zadanie bakalarky. v podstate ide o to ze si vytvorim nie latte sablonu ale dajme tomu *.xml s nejakymi vlastne pridanymi znackami, musim teda napisat nieco co mi to rozparsuje a zapracovat to do nette aby to vzalo ako normalnu sablonu. preto sa pytam co sa deje pri spracovavani latte sablon aby som to nastudoval zo zdrojakov a vytvoril nieco podobne a upravenu na moju verziu. prosim pomozte nasmerujte ma.

Filip Procházka
Moderator | 4668
+
0
-

To je hrozné zadání :)

  • Nakonfiguruje se Nette\Templating\Template
  • připojí se Nette\Latte\Engine jako filtr
  • vloží se obsah šablony, buď ze souboru, nebo jako string
  • doplní se proměnné a vyžádá se vykreslení šablony
    • rozhoduje se, jestli existuje cache zpracované šablony, nebo se bude zpracovávat znovu
      • jednotlivé filtry zpracují šablonu a výsledek se uloží do cache

Na bližší implementaci Latte radši koukni do zdrojáků, je to opravdu hodně komplikované :)

No a tip na konec: koukni na Nette\Utils\Tokenizer

Editoval HosipLan (12. 11. 2011 19:17)

hizo
Člen | 48
+
0
-

diky sefe pozrem sa na to. aby som bol presny tak toto je zadanie:

Seznamte se s existujícími rámci pro tvorbu webových aplikací v jazyce PHP. Zaměřte se na systém definice a využití šablon stránek v těchto rámcích.
Seznamte se s jazykem XML, zejména s jeho možnostmi definice schématu a jmenných prostorů.
Po dohodě s vedoucím zvolte vhodný existující rámec a navrhněte jeho rozšíření o definici šablon stránek v jazyce XHTML s možností implementace vlastních rozšiřujících značek v PHP.
Implementujte navržené rozšíření zvoleného rámce.

bude to ozaj az take hrozne? dufam ze neporodim pri tom :D

nanuqcz
Člen | 822
+
0
-

Tak to by ti mělo stačit naučit se vytvářet helpery a makra pro Nette šablony. Budeš mít ale těžké vymyslet něco, co ještě v Nette není, a co by zároveň bylo užitečné…

Filip Procházka
Moderator | 4668
+
0
-

Mno, ono Latte především není potřeba rozšiřovat :)

A k tomu tvému úkolu, spíš bych napsal nový systém založený na DomDocument, než abych bastlil vlastní šablony :) Tedy pokud jde o XML. U XHTML bych použil Latte. Takže fakt netuším co chceš tady vylepšovat :D

Patrik Votoček
Člen | 2221
+
0
-

HosipLan napsal(a):

  1. proč bys proboha generoval XMLko přes šablonu? Trochu prasátko ne? Na to je snad DomDocument

blééééééé… SimpleXML

hizo
Člen | 48
+
0
-

este mam jednu otazku…daju sa vobec odoslat hodnoty formulara definovaneho v sablone nejak do presenteru? veducemu sa totiz nepaci ze sa formulare vytvaraju ako komponenty a v sablone s nimi nemoze dobre pracovat(co je ale blbost kedze existuje aj manualne vykreslovanie :( )

Editoval hizo (13. 11. 2011 18:44)

Filip Procházka
Moderator | 4668
+
0
-

Dej tvému vedoucímu přečíst dokumentaci Nette, moc tomu evidentně nerozumí a nechápe, proč je to tak udělané.

Patrik Votoček
Člen | 2221
+
0
-

hizo: jaka ze skola a kde?