nenajde presenter – InvalidLinkException No route for Front:

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

Rozhodol som sa ze k svojej aplikaci pridam admin pomocou tohto navodu.
https://doc.nette.org/…thentication

Takze som vsetky doterajsie presentery a templates presunul do FrontModule a pred nazov presenterov som pridal Front tj.
final class Front_ClanokPresenter extends BasePresenter
sa nachadza v FrontModule/presenters/ClanokPresenter.php

v route mam

<?php
$router[] = new Route('<presenter>/<action>/<id>', array(
	'module'    => 'Front',
	'presenter' => 'Clanok',
	'action' => 'show',
	'id' => NULL,
), Route::ONE_WAY);
?>

pre istotu som si aj v route debug overil kam smeruje ta routa a ci je vybrana a v Request je:
Front:Generuj:show
id = NULL

lenze ladenka mi hlasi chybu :

InvalidLinkException
No route for Front:Clanok:show()
libs/Nette/Application/Presenter.php   Line: 1079

Este som pre istotu prezrel aj zlozku temp ci robotloader ten presenter nacita a je tam. Nechapem preco ho nemoze najst. Pokial som nedelil aplikaciu do modulov islo vsetko v pohode.

toka
Člen | 249
+
0
-

Je správně to Route::ONE_WAY? Já bych to dal bez toho. A případně ještě můžeš zkusit zrušit module a do presenter => 'Front:Clanok'.

Honza Kuchař
Člen | 1661
+
0
-

one way znamená, že router tu adresu bude umět přeložit jenom jednosměrně. Tzn. když ji někdo zapíše do prohlížeče, tak ji vezme. Ale sám ji nikdy nevygeneruje. Takže pryč s tím!

mino
Člen | 16
+
0
-

dik moc uz som sa pohol dalej…

ked uz sa pytam

'module'    => 'Front',
'presenter' => 'Clanok',

a

'presenter' => 'Front:Clanok',

je rovnocenny zapis?

Editoval mino (15. 4. 2010 12:56)

toka
Člen | 249
+
0
-

mino napsal(a):

dik moc uz som sa pohol dalej…

ked uz sa pytam

'module'    => 'Front',
'presenter' => 'Clanok',

a

'presenter' => 'Front:Clanok',

je rovnocenny zapis?

IMHO není možná správný, ale fungovat by měl stejně :-)

mino
Člen | 16
+
0
-

este sa mi vyskytol jeden problem, template hlada v tejto ceste:

"message" protected => string(80) "Page not found. Missing template '…/templates/FrontModule/Clanok/show.phtml

pritom ak som dobre pozeral v examplex/modules-usage je cesta pre templaty
FrontModule/templates/Clanok/show.phtml
ktoru pouzivam aj ja…

prinajhorsom to presunie ale da sa niekde zapnut,nastavit aby templaty hladal az v module zlozke.

Honza Kuchař
Člen | 1661
+
0
-

Na zjištění cesty je v Nette metoda. Případně máš možná někde zapnuté $oldModuleMode (nebo tak nějak se to jmenuje).

mino
Člen | 16
+
0
-

dik vypol som a slape