routovani – example.com/index.php

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

Zdravim,

je dost mozny, ze to tady uz nekde je… ale at jsem hledal, jak jsem hledal, tak jsem to nenasel :-(

potrebuju nastavit routovani tak, aby kdyz zadam example.com/, tak zustala adresa example.com/…

pacto kdyz nastavim napr:

$router[] = new Route('index.php', array(
    'presenter' => 'Default',
    'action' => 'default',
), Route::ONE_WAY);

tak me to presmeruje na example.com/default… coz nechci :( chci abych zustal na example.com/

bazo
Člen | 620
+
0
-

pise sa o tom v dokumentacii napr tu https://doc.nette.org/…tion/routing, je to aj v prikladoch v distribucii v bootstrap suboroch
inak:

<?php
$router[] = new Route('<presenter>/<action>/<id>', array(
    'presenter' => 'Default',
    'action' => 'default',
    'id' => NULL,
));
?>
frankenfisch
Člen | 4
+
0
-

Ahoj, mám celkem blízký problém ohledně routování prázdné URL tj. http://example.com/ Mám na webu statickou stránku o-nas, kterou načítám v HomepagePresenteru. Když zadám v URL http://example.com/o-nas , tak chci zobrazit homepagepresenter:default a parametr o-nas. Pokud nezadam nic, chci mit v parametru NULL.

Problém je v tom, že když napíšu routy uvedené níže, tak když nezadám nic, přesměruje se hned na o-nas.

<?php
$router[] = new Route('index.php', array(
	'presenter' => 'Homepage',
	'action' => 'default',
), Route::ONE_WAY);

$router[] = new Route('o-nas/', array(
    'presenter' => 'Homepage',
    'action' => 'default',
    'stranka' => 'o-nas'
));

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

zkoušel jsem přidat

<?php
$router[] = new Route('', array(
    'presenter' => 'Homepage',
    'action' => 'default',
    'stranka' => NULL
));
?>

což sice funguje jak chci, ale nepřijde mi to správné. Existuje jiné řešení ?

Editoval frankenfisch (29. 9. 2010 23:44)

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Myslím že pomůže změna na:

$router[] = new Route('<stranka>/', array(
    'presenter' => 'Homepage',
    'action' => 'default',
    'stranka' => NULL
));