hezke url

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
radvis
Začátečník | 110
+
0
-

Ahoj,

potřeboval bych mít v url nazev novinky a né id poradil by mi někdo prosím?
Díky.

Jan Tvrdík
Nette guru | 2595
+
0
-

Můžeš použít něco takového:

Route::addStyle('#newsId');
Route::setStyleProperty('#newsId', Route::FILTER_IN, 'getId');
Route::setStyleProperty('#newsId', Route::FILTER_OUT, 'getPath');

$router[] = new Route('novinky/<id #newsId>',array(
       'presenter' => 'News',
       'action' => 'view',
));

Editoval Jan Tvrdík (26. 10. 2009 22:35)

Ondřej Mirtes
Člen | 1536
+
0
-

Nebo přímo od začátku pracovat s tím tvarem projetým metodou String::webalize a vybírat podle něj položky i v modelech.

weckho
Člen | 94
+
0
-

Jan Tvrdík: Mohl bys to, prosím, trochu více rozvést? getId a getPath jsou funkce? Budou přímo v tom bootstrapu, nebo v modelu?

Díky moc!

_Martin_
Generous Backer | 679
+
0
-

Jsou to funkce, getId má parametr v podobě „jmeno-clanku“ a vrací číselné ID, funkce getUrl naopak na základě parametru ID vrací „jmeno-clanku“.

Kam je umístit je na tobě, asi nesouvisí přímo s modelem, ale mít je tam by snad také nebyla chyba – jenom v takovém případě bude muset jít o metody statické.