HomePresenter pri pradznej adrese

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

Dobry den,

potrebujem volat HomePresenter, ked je adresa stranky /. Bohuzial sa mi to bije s routou na vyhladavanie, ktora ma vsetky parametre nepovinne:

<?php
$router[] = new NRoute("<countyUrl=kraj>/<districtUrl=okres>/<regionUrl=obec>/<categoryUrl=nehnutelnost>/<subcategoryUrl=typ>/<actionUrl=vsetky>/<paginator-page=1 [0-9]+>", "Category:default");
?>

Skusal som routy ako:

<?php
$router[] = new NRoute('^$', 'Home:default');
$router[] = new NRoute('^/$', 'Home:default');
?>

bohuzial nic z toho mi nefunguje. mate niekto nejaky napad, aby mi web www.web.sk nacital Home:default?

dakujem

nanuqcz
Člen | 822
+
0
-

Já používám staré routování, takže moje odpověď bude možná trochu mimo, ale dokud neodepíše někdo zkušenější… :-)

Zkus tohle:

$router[] = new NRoute('index.php', 'Home:default');
$router[] = new NRoute("kategorie/<countyUrl=kraj>/<districtUrl=okres>/<regionUrl=obec>/<categoryUrl=nehnutelnost>/<subcategoryUrl=typ>/<actionUrl=vsetky>/<paginator-page=1 [0-9]+>", "Category:default");

…musíš nějak jednoznačně odlišit URL pro homepage, a pro kategorie, takže jsem tam přidal „kategorie/“ na začátek druhé routy.

japlavaren
Člen | 404
+
0
-

viem, ze to treba rozlisit, len co ked sa to veducemu nelubi :(

nanuqcz
Člen | 822
+
0
-

Říkal jsi, že ta druhá routa slouží pro vyhledávání, tzn. dostaneš se na ni odesláním formuláře (přes POST požadavek)? Napadá mě to jenom očůrat takovýmhle způsobem:

if (!count($_POST))
    $router[] = new NRoute('index.php', 'Home:default');
else
    $router[] = new NRoute("<countyUrl=kraj>/<districtUrl=okres>/<regionUrl=obec>/<categoryUrl=nehnutelnost>/<subcategoryUrl=typ>/<actionUrl=vsetky>/<paginator-page=1 [0-9]+>", "Category:default");

Ale to už bych radši šéfovi vysvětlil, že jedna URL těžko může vést pokaždé jinam. Budou s tím totiž další problémy.

japlavaren
Člen | 404
+
0
-

s tym countom urcite nie… to je moc FUJ
zatial ta mam toto:

<?php
define('SITE', $_SERVER["SERVER_NAME"]);

$router[] = new NRoute("//" . SITE . "/", 'Home:default');
?>

Editoval japlavaren (29. 4. 2011 19:35)

newPOPE
Člen | 648
+
0
-

by som si tie routy oddelil a je hotove…

<?php
	$router[] = new NRoute('hladaj/<...>/<...>', 'Find:default');	//finding route
	$router[] = new NRoute('index.php', 'Home:default');		//default route

?>
Martin
Člen | 171
+
0
-

A co začít takhle:

	$router[] = new Route('[/][index.php]', 'Home:default', Route::ONE_WAY);

a pak už se postarat o vše, co projde dále?

Editoval Martin (30. 4. 2011 1:54)