Lze modifikovat Path promennou tridy Uri?
- David Grudl
- Nette Core | 8228
Netuším přesně, k čemu to potřebuješ, ale forward nevytváří další požadavek, jen zavolá další presenter.
- Dj_Oggy
- Člen | 67
Dobre,
delam dynamicke matchovani url vuci databazi. Mam url ve tvaru /<lang>/<libovolne_dlouha_url>/<dalsi_pokracovani_routy>.
A ja potrebuju nejak:
1, bud vytvorit routu, ktera by dokazala toto libovolne url uprostred vytahnout.
Zatim se mi nepodarilo tuto routu vytvorit a nevim, jestli to je vubec kvuli
hladovosti regularu mozne. Mozna by bylo lepsi neco jako wildcardy
/<lang>/<query *>/<poracovani_routy>).
2, prepsat Path u uri a pokracovat v dalsimu zpracovani zbytku.
Momentalne mam totiz vlastni multirouter, ktery vuci databazi matchne url, pak
ten zpracovany prostredek jednoduse vyriznu a chci predat zbytek url dalsimu
zpracovani v routerech.
- bojovyletoun
- Člen | 667
/<langos>/<gulas>/<knedlik> nejde,?
protože defaultni maska je pokud se nepletu [^/]
- OK3
- Člen | 91
Asi bych se tu proměnnou strukturu URL nesnažil namontovat obecně na routy, ale napsal bych vlastní handler (to je ten tvůj multirouter), kterej vyhodnotí, zda je routa platná (match proti db) a vrátí jednoduchou routu na speciální presenter, kterej je uzpůsobenej pro zobrazování vlastního obsahu podle (třeba) id z db. Teď střílím trochu od boku, nezkoušel jsem, jestli to takhle funguje :-)
- Dj_Oggy
- Člen | 67
Tohle v podstate delam. Ja si to matchnu a nastavim spravny presenter, jenze jde mi o to, aby pouzil routy k ziskani tech dodatecnych promennych z url a predal je tomu preseneteru, kdyz se bude volat.
Ve vysledku mi jde teda o to, aby z:
/<lang>/uroven1/uroven2/uroven3/<ostatni>
vydoloval to /uroven1/uroven2/uroven3/ a podle toho nastavil presenter (mam uz hotove), a pak aby predal tomu preseneteru prave <lang> a <ostatni> jako promenne z url.