routing (zobrazovat co nejmín), překlad do cz
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- MzK
- Člen | 127
Zdravíčko, snažím se zprovoznit následující:
domain.tld/document_root/?url=nazev-meho-clanku&presenter=Article
na
domain.tld/document_root/clanek/nazev-meho-clanku
po dlouhém routování se mi povedlo:
domain.tld/document_root/article/nazev-meho-clanku
ale při snaze zaměnit article na clanek
<?php
Route::setStyleProperty('presenter', Route::FILTER_TABLE, array(
'clanek' => 'article'
));
?>
se mi to pouze přesměruje na verzi s article.. Ale já chci, aby se to přesměrovalo na clanek.
V bootstrap.php mám následující:
<?php
$router = $application->getRouter();
$router[] = new Route('index.php', array(
'presenter' => 'Default',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('<presenter>/<url>', array(
'presenter' => 'Default',
'action' => 'default',
'url' => NULL,
));
?>
Ale to mám asi špatně.
Obdobně bych to chtěl vytvořit i pro tuto url:
/document_root/?page=1&category_id=5
na /document_root/page/1/kategorie/5
- David Grudl
- Nette Core | 8218
Statické Route::setStyleProperty
musí být uvedeno před
vytvořením routy. Jinak dá se jít i jednodušeji:
$router[] = new Route('clanek/<url>', array(
'presenter' => 'Article',
'action' => 'default',
));