Příklad routování z Quickstart funguje jen z poloviny
- Skalda
- Člen | 8
Zdravím,
zkoušel jsem si udělat todolist podle tutorialu v Quick start.. vše
funguje dobře, až na routování
v příkladu je toto
<?php
$router = $application->getRouter();
Route::addStyle('do');
Route::addStyle('showDoneTasks'); // action nepřidáváme, protože action si nette přidává samo
Route::setStyleProperty('action', Route::FILTER_TABLE, array(
'pridat-ukol' => 'add',
));
Route::setStyleProperty('do', Route::FILTER_TABLE, array(
'smazat' => 'delete',
'zmenit' => 'changeState',
'submit' => 'todoForm-submit'
));
Route::setStyleProperty('showDoneTasks', Route::FILTER_TABLE, array(
'hotove-ukoly' => 1, // 1 jako TRUE
));
$router[] = new Route('', array(
'presenter' => 'Todolist',
'action' => 'show'
));
$router[] = new Route('[<action>/]<do smazat|zmenit|submit>/<id>', array(
'presenter' => 'Todolist',
'action' => 'show',
'id' => NULL,
));
$router[] = new Route('<action pridat-ukol>', array(
'presenter' => 'Todolist',
));
$router[] = new Route('[<showDoneTasks 0|hotove-ukoly>/][strana-<vp-page>]', array(
'presenter' => 'Todolist',
'action' => 'show',
'showDoneTasks' => 0,
'vp-page' => 1,
));
?>
ovšem jediné routy, které fungují jsou ta základní a <action pridat-ukol>.. ostatní adresy zůstávají stále v nekůl formě (?id=5&do=delete …).. Hrál jsem si s tím všemožně, ale na nic jsem nepřišel (jak taky, když tomu skoro nerozumím).
Díky
(vím, psal jsem už do komentářů k quickstart, ale tady to asi sleduje
více lidí a mně už to skoro nedá spát.. takže pardon za kopii :))
Používám Nette verze 0.9.5 pro PHP 5.3
Editoval Skalda (2. 7. 2010 20:11)
- Ola
- Člen | 385
Mno tady je live demo: http://nette-quickstart.hys.cz/, na kterém to funguje ok – ty zdrojáky jsou identické. Ale je tam nějaká starší verze Nette.
- Skalda
- Člen | 8
:) 8 příspěvků v tématu a z toho 6 mých :D… Každopádně se mi
podařilo vyřešit to..
stačilo odstranit první routu
$router[] = new Route('', array(
'presenter' => 'Todolist',
'action' => 'show'
));
Bralo jí to vždy přednostně před ostatními… Ať žije debugger (přesněji ten panel) v Nette 1.0 (nešel by ten panel vložit i do nynější stabilní verze ?)