Ktorý presenter sa volá prvý?

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

Čaute, učím sa Nette Framework na príklade quickstart. Robil som si ho podľa tutoriálu a ide v poriadku, ale mám takýto problém, ktorý nedokážem rozlúsknuť: ktorý presenter sa volá prvý a podľa čoho? T.j. prečo keď prídem na stránku, automaticky sa mi spustí HomepagePresenter ? Ako by som nastavil, aby sa spustil najprv SingPresenter? Kde sa to nastavuje a prečo to tak je? Ďakujem.

Editoval drick (27. 10. 2014 20:03)

ViPEr*CZ*
Člen | 818
+
0
-

To co se spustí ovlivňuje to co je v url…tedy skript si nejprve zjistí co je v url a pak na základě tzv. rout zajistí nasměrování na konkrétní presenter… viz.: https://doc.nette.org/…tion/routing

drick
Člen | 61
+
0
-

ViPErCZ napsal(a):

To co se spustí ovlivňuje to co je v url…tedy skript si nejprve zjistí co je v url a pak na základě tzv. rout zajistí nasměrování na konkrétní presenter… viz.: https://doc.nette.org/…tion/routing

No dobre, ale keď prídem na http://localhost/Blog/www/ – tak sa má spustiť čo? Teda vždy sa spúšťa najprv HomepagePresenter?

Editoval drick (27. 10. 2014 20:06)

matopeto
Člen | 395
+
+1
-

precitaj si ten clanok poriadne :)

<?php

// výchozí akcí bude presenter Homepage a akce default
$route = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

?>

V druhom parametri je default presenter a akcia… takze zalezi co je napisane tam.

drick
Člen | 61
+
0
-

matopeto napsal(a):

precitaj si ten clanok poriadne :)

<?php

// výchozí akcí bude presenter Homepage a akce default
$route = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

?>

V druhom parametri je default presenter a akcia… takze zalezi co je napisane tam.

Ahá, ďakujem pekne.

BigCharlie
Člen | 283
+
+2
-

Zkusil sis tu stránku alespoň přečíst? Nebo se raději rovnou ptáš? Doporučuji přečíst a přemýšlet u toho.

Konkrétně u quickstartu se podívej do RouterFactory, kde máš tuhle routu:

$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

Takže vidíš, že výchozí presenter:action je Homepage:default. Pokud se chceš dostat na ten tvůj Sign presenter, zkus adresu http://localhost/Blog/www/sign/in, která „spustí“ Sign:in (tj. presenter=Sign, action=in).

Routa prostě říká, jak z url adresy získat jméno presenteru a akce (a případných parametrů). A naopak, jak z těch parametrů, presenteru a akce udělat url adresu.

Edit: ještě doplním, že super nástroj na zjištění, která routa se použila, máš v liště Tracy. To ti může pomoci při experimentech.

Editoval BigCharlie (27. 10. 2014 21:08)