Routy blbnou na localhostu

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

Ahoj, tahám stránky z db (title, description, content, …) pri vytváření menu si selectuju jejich id, při kliknutí si předám parametr a vyselectuju požadovaný content…
url mám bez zásahu do routů takto: „localhost/presenter/action/?id=1“
když přidám do routu <id> tak to vypadá logicky takto: „localhost/presenter/action/1“
včera jsem řešil jak nechat odkazy pomocí id ale aby to zobrazovalo záznam „url“ z tabulky
tak jsem se dopracoval k něčemu takovému:

	$router[] = new Route('<id>', array(
    'presenter' => 'Main',
    'action' => 'default',
    'id' => array(
        Route::VALUE => NULL,
        Route::FILTER_IN => callback('RouterModel::getIdByUrl'),
        Route::FILTER_OUT => callback('RouterModel::getUrlById'),
    ),
));

getIdByUrl a getUrlById:

public static function getIdByUrl($url){
    return dibi::fetchSingle('SELECT [ref] FROM [reference] WHERE [url] = %s', $url);
}

public static function getUrlById($id){
    return dibi::fetchSingle('SELECT [url] FROM [reference] WHERE [ref] = %i', $id);
}

funguje to perfektně, ale ne na localhostu :) … když sem to uploadnul na server šlo to v pohodě hned napoprvé, na localu mě třeba 2 odkazy ze 4 nefungujou jak by měly. Docela mě překvapilo když jsem za ‚<id>‘ v routu přidal ‚<id>.html‘, jak se aplikovala tato změna, která nemá s funkčností nic společného, tak vše fungovalo. Z toho mi vyplývá, že kód je dobře akorát je zakopanej pes někde jinde, takže jsem zkusil smazat cache, restartovat apache a nic :)stále to při navrácení routu na ‚<id>‘ blbne, a blbne to asi takto: když najedu na položku „O mně“ browser mi ukazuje cestu „/o-mne“, bohužel po přechodu na tuto stránku to v url vygeneruje např. „/kontakt“ – který mimochodem je taky v tabulce, ale nemá v url co dělat :-)

Má někdo zkušenost s takovouto záhadnou chybkou ? :)

EDIT: Vyřešeno, chyba byla způsobena cachovaním dat v prohlížeči …

Editoval Toby91 (18. 5. 2011 11:40)