Existuje ukážka jednoduchého webu v Nette?

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

Ahoj, posledné 4 dni študujem po večeroch Nette. Snažím sa čítať všetky návody, tutorialy … ale po 4 dňoch mám stále pocit, že sa neviem vôbec pohnúť… :-)

Snažím sa študovať príklady atď… Príklady mi síce fungujú ale akosi nie som schopný čokoľvek spraviť sám hoci s otvoreným manuálom…

Existuje niekde návod na postavenie jednoduchej webovej stránky v Nette? Stránka s hlavným menu, 5 podstránok, ktoré zobrazujú obsah článku, jedna zo stránok ma kontaktný formulár, ktorý obsah správy pošle na e-mail… ?

S vysvetlením, že kde sa nachádza ktorý kus kódu a prečo…

Pár rokov programujem s PHP, mám za sebou aj zložitejšie multi-user databázové aplikácie, takže úplný lama hádam nie som :-) no toto mi dáva fakt zabrať. Som presvedčený, že len sa musím do Nette dostať, pochopiť základné princípy a potom to už pôjde, mam ale problém tou bariérou prejsť …

Ondřej Brejla
Člen | 746
+
0
-

Nějaký komplexnější návod snad není, nebo o něm nevím. Ale byl by to parádní tutoriál :-) Nejvíc se toho vyčte z examples, případně z Quick Startu nebo ze seriálu na Zdrojáku.

oktam
Člen | 25
+
0
-

Quick Start aj seriál na Zdrojáku som dávno preštudoval :-). Seriál na Zdrojáku je naozaj dobrý, uvedomil som si tam veľa vecí. Stále však málo na to, aby som zvládal ten najjednoduchší web :-(

romansklenar
Člen | 655
+
0
-

A co příklady v distribuci? Z takového akrabatu / CD-collection musí být základ jasný.

Cifro
Člen | 245
+
0
-

romansklenar napsal(a):

A co příklady v distribuci? Z takového akrabatu / CD-collection musí být základ jasný.

To nie je celkom pravda. Zdrojak vôbec nie je okomentovaný. Proste, ten kto sa už vyzná v Nette, tak vie prečo je tam to a to. Ale ostatní nevedia čítať medzi riadkami. A práve tento example je dobrý iba na naučenie ako spraviť prihlasovanie. Není žiadný example, ktorý by riešil taký jednoduchý web ako písal oktam…

posledné 4 dni študujem po večeroch Nette

To je ešte málo, ja študujem už asi mesiac, a furt Nette neviem poriadne, aby mi pomáhalo a nie zdržovalo v niektorých veciach.

Kebyže je niejaký taký tutorial ako tento – CodeIgniter From Scratch: Day 1 tak by krivka prvotného spoznávania Nette bola maximálne strma. O CodeIgniter sa nejako nezaujímam, ale toto jedno video mi dalo jeho úplne základy, kebyže sa chcem poriadne naučiť CodeIgniter tak mam už dobrý základ.

Editoval Cifro (24. 7. 2009 13:39)

romansklenar
Člen | 655
+
0
-

Šlo mi spíš o tu ukázku práce s databází, protože jsi o ní psal.

Tutoriál je to hezký :) a po jeho shlédnutí ti můžu říct, že mám dojem, že Code Igniter je oproti Nette jednodušší, sice tam jsou ukázány jen opravdu základy a některé věci půjdou dělat jinak, ale v Nette se dají dělat ty samé věci elegantněji (třeba to předávání proměnných do šablony mě docela dostalo, čekal jsem něco lepšího, konfigurace ve zdrojících v poli taky není nic moc).

Základ je ale ve všech MVC frameworcích stejný. Nějaké ukázky webů napsaných v Nette se tu řešily – mělo jít o kolekci příkladů, které se psaly na jednotlivých školeních.

Panda
Člen | 569
+
0
-

Nedávno tomu bylo přesně rok, co jsem sám udělal první nesmělé krůčky do Nette, takže tomu není zas tak dávno, co jsem sám měl podobné problémy.

Do napsání takového příkladu bych se klidně pustil. Jediné, s čím váhám, je kam to v dokumentaci zařadit. Pak bych také potřeboval posvěcení z míst vyšších, že s něčím takovým dokumentaci vůbec mohu znesvětit. :)

Viděl bych to tak, že bych tam postupně prošel tvorbou jednoduchého webu s víceuživatelskou administrací a mimo jiné ukázal:

  • práce s komponentami (využití existujících – formulář, VisualPaginator, možná i nějaká jednodušší vlastní komponenta)
  • tvorba vlastního jednoduchého routeru
  • AJAX (+ zavináčová magie?)

Napadá vás ještě něco, co by se tam dalo použít?

Cifro
Člen | 245
+
0
-

Panda napsal(a):
Jediné, s čím váhám, je kam to v dokumentaci zařadit.

I ja niekedy riešim také prkotiny, ale hlavne že tá dôležitá vec ešte nie je hotová.. ehm ;-)

Cifro
Člen | 245
+
0
-

romansklenar napsal(a):

Šlo mi spíš o tu ukázku práce s databází, protože jsi o ní psal.

Hm prácu s databázou som nemyslel, len to prihlasovanie, a to nemusí byť riešené cez db…

Tutoriál je to hezký :) a po jeho shlédnutí ti můžu říct, že mám dojem, že Code Igniter je oproti Nette jednodušší…
..konfigurace ve zdrojících v poli taky není nic moc …

Presne to isté som si myslel aj ja :D V niečom je jednoduchší, ale tie konfiguračné polia sa mi tiež nepáčili.

Hellish
Člen | 16
+
0
-

CodeIgniter vypadá na první pohled jednoduše, ale má hodně nedomyšlených/nedořešených věcí. Udělal jsem v něm jeden web, ale po prvotním prozkoumání Nette je jasné, že Nette je mnohem důmyslněji a výrazně lépe navržené. Jedinné, co má CodeIgniter lépe zpracované je dokumentace, která je psaná jako tutorial krok za krokem, takže základy frameworku pochopí rychle i úplný začátečník. Tohle by mělo Nette dohnat. Takový step-by-step tutorial na vytvoření jednoduchého webu/blogu by určitě uvítala spousta začátečníků.

David Grudl
Nette Core | 8227
+
0
-

Už jsem to někde zmiňoval, celý srpen mám vyhrazený na napsání dokumentace (i anglické). Tedy po prázdninách i tato námitka konečně padne ;,

FOUS
Člen | 15
+
0
-

To by bylo skvělé. Teď jsem se zrovna s jedním webem mořil. Co bych ve svém frameworkčíčku a špagety kódem zbastlil za dva dny jsem v Nette dělal týden a stejně jen začal a nedodělal. Samozřejmě vše nastudováno, školení absolvováno, ale všude to jsou jen kousky kódu a pokud začínáte jako já trojkombinací (nový v OOP + nový v MVC + nový v Nette) je to na provaz, protože plavete v tom, jak to pospojovat. Na druhou stranu smekám před pomocí lidí tady na fóru, takže všechny záseky se podařilo řešit.

Tomik
Nette Evangelist | 485
+
0
-

Když už jsme u toho, snad by mohly začínajícím pomoci další díly screencastu. Ty budou přibývat hlavně na konci prázdnin, ale přes prázdniny se mi moc nechce pracovat, takže opravdu intenzivně na nich začnu dělat v září! Stay tuned!

JakubJarabica
Gold Partner | 184
+
0
-

David Grudl napsal(a):

Už jsem to někde zmiňoval, celý srpen mám vyhrazený na napsání dokumentace (i anglické). Tedy po prázdninách i tato námitka konečně padne ;,

Som rad, ze nie som sam, ktoremu aktualna dokumentacia nestaci :) Pozeram dokola serial v roote, dokumentaciu mam vytlacenu, forum sledujem cez RSS, no stale malo. Mam velky problem s riesenim dost jednoduchych uloh. Preto dufam, ze dokumentacia bude aktualizovana postupne(nech to mozeme v priebehu mesiaca studovat) a bol by som este radsej, keby je kladeny doraz na priklady, ale z realnej praxe. Velmi napr. ocenujem, ze David niekde na fore uviedol svoj router, z toho sa clovek nauci najviac :)

marek.dusek
Člen | 99
+
0
-

tak kdyz uz OS, at nekdo hodi do placu cely web, co v nette delal, no ne? ;)

oktam
Člen | 25
+
0
-

Odľahlo mi, že nie som jediný „blbec“ :-D

Dúfam, že sa na fóre začne pravidelne objavovať hláška RTFM! :-)))

Mimochodom, ak máte niekto jednoduchý web, ktorý ste ochotný vydať pod „public-domain“, potešíte mnoho začiatočníkov ;-)

Panda
Člen | 569
+
0
-

Tak jsem právě dopsal první část návodu – funkční web s několika stránkami a kontaktním formulářem, který odesílá e-maily. Pokračovat budu vlastním routerem a administrací.

Zkusím se nějak s Davidem dohodnout na zařazení do dokumentace.

oktam
Člen | 25
+
0
-

Je ten sampel mozne vidiet/stiahnut?

Panda napsal(a):

Tak jsem právě dopsal první část návodu – funkční web s několika stránkami a kontaktním formulářem, který odesílá e-maily. Pokračovat budu vlastním routerem a administrací.

Zkusím se nějak s Davidem dohodnout na zařazení do dokumentace.

ic
Člen | 430
+
0
-

Jen se chci připojit k hlasům pro… protože taková věc by byla super, do začátku bomba

Majkl578
Moderator | 1364
+
0
-

Teď dělám jednoduchý ajaxový chat, zvažoval jsem, že bych dal kód k dispozici, byl by zájem? :)

JakubJarabica
Gold Partner | 184
+
0
-

Nestaci vidiet reakcie v tomto vlakne? ;)

cuga
Člen | 210
+
0
-

urcite jo, porad sem se do ajaxu nepustil, protoze mi ten princip trosku unika a tohle by snad pomohlo ;)

xzajic
Člen | 19
+
0
-

Jsem všema deseti pro nějaké hotové examples. Co by – aspoň podle mě – moc pomohlo by byla kostra nějakého e-shopíku. Shopy totiž obsahují poměrně různorodou logiku (narozdíl třeba od chatu) – přihlášení, zobrazení nečeho z databáze, objednávání, košík, e-maily… a kdyby se to nějak ukázkově pořešilo v příkladu (bez grafiky, jen v nějakých náznacích) tak by to mohl být skvělý výukový materiál.

Editoval xzajic (28. 7. 2009 9:56)

Jan Tvrdík
Nette guru | 2595
+
0
-

Pokud byste sháněli skutečně velmi jednoduchou ukázku (takový složitější akrabat), tak lze použít i http://skladka.merxes.cz/…09-05-18.zip. Je to psáno pro trochu starší revizi Nette, ale mělo by to fungovat. Asi nejzajímavější z celého kódu je napsání vlastního jednoduchého routeru.

marek.dusek
Člen | 99
+
0
-

OT: ceskoAnglictina je evil ;)

Jan Tvrdík
Nette guru | 2595
+
0
-

marek.dusek napsal(a):

OT: ceskoAnglictina je evil ;)

Neboj, v žádném skutečném kódu takové názvy nevolím. Tento kód je psán úmyslně takovou formou, jakou psán a stejně tak jsou voleny i názvy jako např. NasOverovac :)

ic
Člen | 430
+
0
-

Mohl bych mít začátečnický dotaz (trochu mimo téma samozřejmě) k ukázce, jinak samozřejmě za ni děkuji, co dělají soubory (NasOverovac.php a ClankyRouter.php) ve složce libs? Tožiž měl jsem za to (podle dosavadně získaných informacé) že všechny části prezentace jsou jen v app a v doc-rootu pak jen ‚uživatelsky dostupné‘ soubory a obrázky no a že zmiňovaná složka libs je pak jen na hotové řešení (nette a jiné aplikace třetích stran). Najde je tam vůbec robot loader nebo se musí naincludovat samostatně?

Jod
Člen | 701
+
0
-

To je už na tebe kam ich dáš. RobotLoader najde všetko v adresároch ktoré mu nastavíš, takže, keď mu dáš hľadať aj v libs najde aj tam.

Jan Tvrdík
Nette guru | 2595
+
0
-

ic napsal(a):

Mohl bych mít začátečnický dotaz (trochu mimo téma samozřejmě) k ukázce, jinak samozřejmě za ni děkuji, co dělají soubory (NasOverovac.php a ClankyRouter.php) ve složce libs? Tožiž měl jsem za to (podle dosavadně získaných informacé) že všechny části prezentace jsou jen v app a v doc-rootu pak jen ‚uživatelsky dostupné‘ soubory a obrázky no a že zmiňovaná složka libs je pak jen na hotové řešení (nette a jiné aplikace třetích stran). Najde je tam vůbec robot loader nebo se musí naincludovat samostatně?

Pravděpodobně by měly být spíš ve složce app.

Ondřej Mirtes
Člen | 1536
+
0
-

Navíc pokud dám indexovat celou složku libs, tak se mi tam tlučou dvě třídy, které jsou zároveň v balíku s dibi a zároveň v balíku Nette.

Jan Tvrdík
Nette guru | 2595
+
0
-

LastHunter napsal(a):

Navíc pokud dám indexovat celou složku libs, tak se mi tam tlučou dvě třídy, které jsou zároveň v balíku s dibi a zároveň v balíku Nette.

Netlučou, dibi obsahuje soubor netterobots.txt

Ondřej Mirtes
Člen | 1536
+
0
-

Jan Tvrdík napsal(a):

LastHunter napsal(a):

Navíc pokud dám indexovat celou složku libs, tak se mi tam tlučou dvě třídy, které jsou zároveň v balíku s dibi a zároveň v balíku Nette.

Netlučou, dibi obsahuje soubor netterobots.txt

Tak už je to možná opravené, ale ta chyba se mi opravdu stala, od té doby ty složky v bootstrapu registruju takhle:

$autoload->addDirectory(array(LIBS_DIR . '/Dibi', LIBS_DIR . '/Texy', APP_DIR));
Jod
Člen | 701
+
0
-

Nikdy mi to nerobilo.

Majkl578
Moderator | 1364
+
0
-

Sliboval jsem ukázku chatu, tak tady je.

Jedná se o jednoduchý systém chatu, každý člověk, který chce chatovat se prvně registruje. Po registraci je možné se ihned přihlásit.

** Požadavky:**

  • PHP 5.3
  • Je nutné nastavit složkám cache, log a sessions práva pro zápis.
  • Dále je třeba spustit SQL příkaz (je v archivu – AjaxChat/ajaxchat.sql) a příslušně upravit config.ini v sekci production → database.
  • Ponechání informace o autorovi v patičce nebo alespoň v komentáři v html (pokud si to přestylujete, což předpokládám, „grafika“ můžete odstranit)

Chat podporuje rozlišení uživatelů jako normální (default) nebo administrátor. Pro nastavení uživatele jako administrátora je to (zatím) nutné nastavit přímo v tabulce v databázi (chat_users > isAdmin). Administrátor může mazat zprávy.

Živá ukázka: http://server.majkl578.cz/AjaxChat/
Odkaz ke stažení: http://nette.majkl578.cz/AjaxChat.rar

Berte to prosím tak, že se s Nette stále učím (tím chci říct, že některé věci by určitě šly lépe a já se rád dozvím které a jak ;) ). Mimochodem ajax jsem teď použil poprvé. :)

EDIT: sodae měl nápad udělat to jako komponentu, co vy na to?

Editoval Majkl578 (30. 7. 2009 22:21)

Cifro
Člen | 245
+
0
-

Majkl578 napsal(a):

Živá ukázka: http://server.majkl578.cz/AjaxChat/
Odkaz ke stažení: http://nette.majkl578.cz/AjaxChat.rar

Pekná práca. A nenapadlo by ma spojiť nettelinks a {}filter :) Šikovná myšlienka. A chválim aj pridanie Nette do rar, lebo sa mi stalo, že nebolo priložené a som nevedel na akej revizii to vlastne funguje.

ic
Člen | 430
+
0
-

Já to porád opravuju a porád další chyby a až pak tady zjistim… no jo php 5.3, člověk by si to měl napřed pečlivě pročíst a ušetřil by dost času XD

mardon
Člen | 59
+
0
-

tak jsem se rozhodla , že vyzkouším clanky, ale hned po spuštění se mi objeví chbové hlášení

Fatal error: Class ‚dibi‘ not found in /var/www/clanky/app/bootstrap.php on line 52

Panda
Člen | 569
+
0
-

Zkus dát do libs dibi.

mardon
Člen | 59
+
0
-

Panda napsal(a):

Zkus dát do libs dibi.

to tam právě , že mám

Jan Tvrdík
Nette guru | 2595
+
0
-

mardon napsal(a):

tak jsem se rozhodla , že vyzkouším clanky, ale hned po spuštění se mi objeví chbové hlášení

Fatal error: Class ‚dibi‘ not found in /var/www/clanky/app/bootstrap.php on line 52

Zkus smazat temp.

pmg
Člen | 372
+
0
-

OT: Vítáme tě, Terezo! :-)

mardon
Člen | 59
+
0
-

Jan Tvrdík napsal(a):

mardon napsal(a):

tak jsem se rozhodla , že vyzkouším clanky, ale hned po spuštění se mi objeví chbové hlášení

Fatal error: Class ‚dibi‘ not found in /var/www/clanky/app/bootstrap.php on line 52

Zkus smazat temp.

smazala jsem a stejná chyba, řekla bych, že problém bude možná v nějakém nastavení, protože mi nefunguje ani přiklad v quick start a ani akrabat

tak ten Quick start beru zpět nedočetla jsem celou stránku

Editoval mardon (31. 7. 2009 21:52)

pmg
Člen | 372
+
0
-

Zkus si do bootstrapu nahoru po příkazu načítajícím loader přidat toto:

Environment::setMode(Environment::DEVELOPMENT);
JakubKohout
Člen | 92
+
0
-

mardon napsal(a):
Fatal error: Class ‚dibi‘ not found in /var/www/clanky/app/bootstrap.php on line 52

Měl sem tu samou chybu, po úpravě kódu sem přišel na to že RobotLoader.php neloaduje žadný soubory, tak sem si s tim hrál až to úplně rozkurvil … Znova sem ty články stáhl a po přepsání všech souborů na mě baflo z apache permission denied … tak sem nastavil všechny soubory na 777 a hle všechno funguje :-)

Ale je tam spousta dalších chyb … například to v DB po mě chce sloupec URL v tabulce clanky apod.

Edit: Tak už sem to dostal do funkční podoby, ještě je třeba zakomentovat v bootstrap.php tu routu s ClankyRouter … tak snad to někomu pomůže až bude zkoušet ten příklad

Jinak díky za příklad, do teď sem měl problém jako spousta kolegů nademnou s tim co jak poskládat dohromady a tohle mi ukázalo cestu. Díky moc

Editoval dRaGen (1. 8. 2009 4:48)

mardon
Člen | 59
+
0
-

pmg napsal(a):

Zkus si do bootstrapu nahoru po příkazu načítajícím loader přidat toto:

Environment::setMode(Environment::DEVELOPMENT);

toto nepomohlo

mardon
Člen | 59
+
0
-

dRaGen napsal(a):

mardon napsal(a):
Fatal error: Class ‚dibi‘ not found in /var/www/clanky/app/bootstrap.php on line 52

Měl sem tu samou chybu, po úpravě kódu sem přišel na to že RobotLoader.php neloaduje žadný soubory, tak sem si s tim hrál až to úplně rozkurvil … Znova sem ty články stáhl a po přepsání všech souborů na mě baflo z apache permission denied … tak sem nastavil všechny soubory na 777 a hle všechno funguje :-)

Ale je tam spousta dalších chyb … například to v DB po mě chce sloupec URL v tabulce clanky apod.

Edit: Tak už sem to dostal do funkční podoby, ještě je třeba zakomentovat v bootstrap.php tu routu s ClankyRouter … tak snad to někomu pomůže až bude zkoušet ten příklad

Jinak díky za příklad, do teď sem měl problém jako spousta kolegů nademnou s tim co jak poskládat dohromady a tohle mi ukázalo cestu. Díky moc

diky moc, pomohlo nastavit prava pro vsechny soubory na 777, jedu totiz na kubuntu, uz se mi to rozbehlo. Jaké je heslo pro přihlášení? Háže to dost vyjímek

aha
Člen | 9
+
0
-

Ahoj,
jak to tedy vypadá s nějakým tím tutoriálkem, nebo screencastem?
Bude v dohledné době něco? Já se chci s Nette naučit a vyzkoušel jsem (a rozchodil) všechny tuty, nicméně stejně jako kolegové výše si nedokážu dost dobře představit, jak to využít v plném rozsahu pro tvorbu www stránek.

V současné době jsem si vytisknul okomentovaný tutoriál Akrabat pro ZendFramework:http://pari.cz/…framework-15 a zkouším pochopit co se to vlastně děje. Zatím nevím jak se mi to osvědčí.

P.S. Já bych uvítal nějaké jednoduché „zastřešení“ Nette a jeho možností použití. Takhle si vždycky připadám, jako když sleduji diskusi automechaniků nad rozebraným karburátorem o jeho přednostech a nedostatcích a já přitom ani nevím jestli patří do motoru, do kabiny, nebo do kufru. Možná jsem se nevyjádřil úplně přesně, ale mám pocit, že tento problém tady trápí víc lidí.

DocX
Člen | 154
+
0
-

aha napsal(a):

Ahoj,
jak to tedy vypadá s nějakým tím tutoriálkem, nebo screencastem?

Doufám, že se to brzy také nějak pohne.

Ale sám jsem (plus ještě s kolegy) s Nette začal celkem nedávno. A taky jsem si tohle říkal dokud jsme si prostě neřekli, že nad tim uděláme náš další projekt. Pak už to všechno tak nějak vyplyne samo co umí a co ne. Hodně úskalí se dá taky vyřešit za pomoci solidní komunity tady na fóru. Jinak je samozřejmě stále co zlepšovat a sám se snažím komunitě něco vracet (třeba i tímhle postem)

Chci tím říct, že než čekat na tutoriál, rači ten čas obětuj tomu, že začneš na Nette stavět nějakou skutečnou aplikaci a pak poznáš sám, k čemu je dobré :)

Editoval DocX (23. 9. 2009 19:37)

aha
Člen | 9
+
0
-

to DocX:
Já se také snažím, ale bohužel kolegů nemám, s PHP začínám (měsíc na tom intenzivně pracuju), s Nette taky. Hledám tedy nějakou „cestičku“, která by mi osvětlila zákonitosti fungování Frameworku. Z kusých info si udělá představu člověk, který už o problematice něco ví a má základ pro to, něco si domyslet a dokombinovat. Z nám to z jiných oblastí. Nicméně ten okomentovaný Akrabat v ZF (viz. výše) už určitou představu dává. Ale je to málo. Asi tak.

DocX
Člen | 154
+
0
-

No pokud začínáš i s PHP jako takovým (případně i s principy OOP (které v PHP taky nejsou úplně štastně řešeny)), tak tě naprosto chápu, že skočit po hlavě do věci jako Nette může být trochu problematické.

Je ale dobře, že sis tak zvolil, protože Nette za tebe vyřeší věci, na které ty by jsi musel přicházet sám a mohl by jsi v nich hlavně udělat chyby.

A souhlasím, že dobře okomentovaný kousek dobrého kódu chytrému člověku hodně pomuže s pochopením problematiky. Přikláním se k tomu, aby se alespoň nějak pěkně okomentoval kód v těch 2 (?) příkladech v Nette. Nejsou přeci tak rozsáhlé aby to nešlo. Otázka ale je jestli komentovat česky nebo anglicky :o)

Jestli se budu někdy nudit, zkusím to okomentnout a hodit sem a doufat, že to někdo hodí do distra. To ale předbíhám :D

Editoval DocX (23. 9. 2009 20:12)