Chyba routování – Invalid link: No route for Prihlaseni:prihlasit()

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

Nějak nerozumím vzniklé chybě – proč se ta chyba zobrazila, když laděnka v okně rout správně url identifikovala – viz obrázek http://nette.svrcek.cz/…outovani.gif

David Matějka
Moderator | 6445
+
0
-

protoze ti tam chybi parametr stat. mozna chces pouzit persistentni parametr

Mirek
Člen | 86
+
0
-

No ale já tam ten parametr stat přece mám a mám ho definovanej jako perzistentní parametr – vždyť je to vidět jak v url, tak i v tom okně rout, kde je stat = cz

David Matějka
Moderator | 6445
+
0
-

ukaz, jak ho mas definovanej jako persistentni

Mirek
Člen | 86
+
0
-

v basepresenteru mám toto:

abstract class BasePresenter extends Nette\Application\UI\Presenter
{
  /** @persistent */
  public $stat='cz';
David Matějka
Moderator | 6445
+
0
-

divny, vypada to OK. dedi ten tvuj login presenter od base presenteru?

a funguje ten persistentni? zkus zmenit hodnotu v url treba na en, jestli se dostane do $this->stat

Mirek
Člen | 86
+
0
-

tak to je hodně divný – když změním ten stát, tak se ta stránka normálně načte bez chyby a v tom okně rout je vidět, že se stát změnil

David Matějka
Moderator | 6445
+
0
-

zkus smazat tu defaultni hodnotu u persistentniho parametru. ono asi kdyz se to shoduje s defaultni, tak to neposila do routeru..

Mirek
Člen | 86
+
0
-

Tak když jsem smazal defaultní hodnotu, tak se i ta česká stránka zobrazila, ale mam teď problém, když přistoupim na úvodní stránku – tedy bez parametru presenteru a akce, tak mám zase stejnou chybu – viz obrázek http://nette.svrcek.cz/…utovani2.gif
Nějak nechápu, proč když to okno routování ukazuje, že se našel prezenter Obsah a akce default, proč to píše Invalid link: No route for Prihlaseni:prihlasit
A pak nevím, jak nejlépe v tomto případě ošetřit to, že chybí ten parametr stat, když nemá tu výchozí hodnotu cz

Mirek
Člen | 86
+
0
-

Tak chyby jsem se zbavil, tu druhou obecnou routu jsem doplnil o ten stat

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

a mám problém s vytvořením odkazu na jinou stránku, odkaz jsem tvořil takto:
<a n:href=„Znamka:zobraz 147“>
a to teď nefunguje, nedoplní se tam ten stát a nefunguje ani když tam stat takto doplnim:
<a n:href=„Znamka:zobraz 147, stat ⇒ cz“>

Editoval Mirek (20. 9. 2016 19:24)

Mirek
Člen | 86
+
0
-

tak i tuhle chybu jsem si už našel – presenter známka mi nedědí basepresenter a proto jsem v něm měl ten stat definovaný taky s výchozí hodnotou, takže když jsem výchozí hodnotu smazal, už to začalo fungovat

Nicméně děkuji za pomoc.