Nette Framework – cmd prikaz

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

Ahojte, da sa nejakym prikazom automaticky vytvarat presenter a k nemu sablonu? Napriklad ako sa to da v Zend Frameworku cez comand prompt (CMD).. to je (ak sa nemylim) zf create presenter nazov

… ked chcem pridat do databazy nejaky film, tak mu automaticky vytvorim aj stranku … diky

Editoval Takeshi (16. 5. 2013 18:34)

David Matějka
Moderator | 6445
+
0
-

nette zadny generovani kodu (zatim) nema.

„ked chcem pridat do databazy nejaky film, tak mu automaticky vytvorim aj stranku“?? tohle trochu nechapu

grogy
Člen | 147
+
0
-

O ničem takovém nevím, každopádně pokud používáš Unix, tak by neměl být problém napsat v Bashi takový jednoduchý program – případně jde i parametrizovat.

K poznámce, že při přidání filmu do databáze se přidává presenter – jsi si jistý tímto návrhem? Liší se nějak presentery?

Takeshi
Člen | 596
+
0
-

matej21 & grogy
„ked chcem pridat do databazy nejaky film, tak mu automaticky vytvorim aj stranku“

Neberte ma az tak doslova :-) Ja sa len snazim skusat nove veci (pre mna), tak niekedy tradim aj na blbost :-D ;-)

… ale diky za odpovede

Editoval Takeshi (16. 5. 2013 18:57)

Šaman
Člen | 2668
+
0
-

Pokud chceš samostatnou stránku pro každý film, tak se to řeší přes databázi a router.
Router zařídí, že např. "server.cz/filmy/Foo" zavolá MoviePresenter, metodu actionDetail('Foo') a renderDetail('Foo') a ta si z databáze vytáhne údaje o filmu Foo a vloží je do šablony detail.latte.
Jde tedy jen o to nastavit router tak, aby ti při adrese "server.cz/filmy/Foo" správně zavolal "Movie:detail, 'Foo'". Nebo jakoukoliv strukturu.

Na loňské první poslední sobotě 1/2012 byla přednáška, jak router provázat s databází, aby ti ta routa existovala jen v případě, že je příslušný záznam v db. Někde na Planette bude i video.

Editoval Šaman (16. 5. 2013 19:34)

Takeshi
Člen | 596
+
0
-

Šaman napsal(a):

Pokud chceš samostatnou stránku pro každý film, tak se to řeší přes databázi a router.
Router zařídí, že např. "server.cz/filmy/Foo" zavolá MoviePresenter, metodu actionDetail('Foo') a renderDetail('Foo') a ta si z databáze vytáhne údaje o filmu Foo a vloží je do šablony detail.latte.
Jde tedy jen o to nastavit router tak, aby ti při adrese "server.cz/filmy/Foo" správně zavolal "Movie:detail, 'Foo'". Nebo jakoukoliv strukturu.

Na loňské první poslední sobotě 1/2012 byla přednáška, jak router provázat s databází, aby ti ta routa existovala jen v případě, že je příslušný záznam v db. Někde na Planette bude i video.

Ospravedlnujem sa, ak budem opakovat, co si uz napisal, ale ja som v programovani web-stranok v zaciatkoch :-) Tak pls strpenia …

… ak tomu dobre rozumiem, tak v databaze budem mat ku kazdemu filmu data ako napriklad komentar, velkost filmu, format(avi,dvd,flv,…) a jeden presenter a k nemu sablonu … no a po kliknuti na isty odkaz (napr na film Diktator) sa budu do tejto sablony len vkladat informacie teda nieco ako

<?php
SELECT comment, type, image WHERE NAME = Diktator
?>

takto to bolo myslene?

Šaman
Člen | 2668
+
0
-

Přesně tak. Pro začátek si to naprogramuj bez speciální routy třeba takto server.cz/movie/detail/51, kde 51 je id filmu. Druhá možnost je server.cz/movie/detail?movie=Diktator. Na obě možnosti ti stačí router ze Sandboxu. V MoviePresenteru v actionDetail($id) (případně actionDetail($movie)) budeš mít k dispozici id, nebo název filmu a jak si ho z db načteš je na tobě. Pokud budeš jenom připravovat data pro šablonu, můžeš používat rovnou render metody místo akcí.

Až ti tohle bude fungovat, začneš teprve řešit hezké URL a nakonec se dopracuješ k tomu, co jsi na začátku chtěl. Představ si že máš filmů plnou databázi (viz CSFD.cz), tvořit presenter pro každý film by skutečně nešlo. Nemluvě o tom, co bys dělal, kdybys měl změnit třeba design stránky. To bys editovat tisíce souborů šablon?

Filip Procházka
Moderator | 4668
+
0
-

Určitě ti k pochopení principů pomůže i přečtení quickstartu a dokumentace :)