Zmizeni id z url adresy vda totozne pripady, jeden funguje, druhy ne

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

Ahoj mam dve routy na ruzne prezentery,
ty ziskavaji stejna data, jen vykreslene stranky vypadaji rozdilne a jedna je rozsirena a naopak ochuzena o nejake komponenty.

Routy:

// pro ukazku
$langs = 'cs|en|ru';

// Setup router
$container->router[] = new Route('index.php', 'Front:Homepage:', Route::ONE_WAY);

$container->router[] = new Route('/admin[/<presenter>][/<action>][/<id>]', array(
    'module'    => 'admin',
    'presenter' => 'sign',
    'action'    => 'in',
));

$container->router[] = new Route('[<lang ('.$langs.')>/]nemovitost/<id>', array(
    'lang'      => $defaultLang,
    'module'    => 'front',
    'presenter' => 'property',
    'action'    => 'detail',
    'id'        => array(
        Route::FILTER_IN => callback('\BesirCMS\models\Properties::getPropertyId'),
        Route::FILTER_OUT => callback('\BesirCMS\models\Properties::getPropertySlug')
    )
));

$container->router[] = new Route('[<lang ('.$langs.')>/]dotaz-na-nemovitost/<id>', array(
    'lang'      => $defaultLang,
    'module'    => 'front',
    'presenter' => 'request',
    'action'    => 'send',
    'id'        => array(
        Route::FILTER_IN => callback('\BesirCMS\models\Properties::getPropertyId'),
        Route::FILTER_OUT => callback('\BesirCMS\models\Properties::getPropertySlug')
    )
));

$container->router[] = new Route('[<lang ('.$langs.')>/]<presenter>[/<action>][/<id>][/<page>]', array(
    'lang'      => $defaultLang,
    'module'    => 'front',
    'presenter' => 'homepage',
    'action'    => 'default'
));

Pri zkoumani a hledani sem prisel na to ze kdyz chci zmenit jazyk tak se mi v odkazu proste vytrati $id, resp. $slug nemovitosti.

Odkazy na prepinani jazyku:

<div class="lang margin-vertical">
                    <a n:href="this, lang => cs">česky</a> /
                    <a n:href="this, lang => en">english</a> /
                    <a n:href="this, lang => ru">pycc</a>
                </div>

Diky za help, cumim do toho uz docela dlouho a ne a ne na to prijit :-(

Editoval besir (22. 9. 2012 14:47)

Hafran
Člen | 121
+
0
-

Zdar,
a máš ty parametry peristentní? Páč v tom odkazu na jazyk uvádíš jenom parametr lang, takže ty ostatní by se ti dle mého přenést neměly.

besir
Člen | 170
+
0
-

Ahoj, nemam je persistentni. Ani pro jednu routu a v te jedne to funguje, tedy v teto:

$container->router[] = new Route('[<lang ('.$langs.')>/]nemovitost/<id>', array

a
tady to nefunguje:

$container->router[] = new Route('[<lang ('.$langs.')>/]dotaz-na-nemovitost/<id>', array(

Pokud to chapu dobre tak to ma vzit pouze current url a pridat ji parametr lang. Mam to zprovozněné podle Tomáše Votruby kuchařky https://componette.org/search/?… a jediné co nastavuje jako persistent tak je lang.

besir
Člen | 170
+
0
-

Nikdo neví? :-(

pidiclovek
Člen | 91
+
0
-

Doporučuju ořezat funkcionalitu a minimální množství kódu pro ověření funkcionality přesunout do sandboxu. Protože v to co jsi uvedl chybu nevidim, bude asi někde jinde. Pokud ani pak chybu nenajdeš, uploaduj někam ten sandbox.