![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Od razu zaznaczam, że dopiero uczę się ZF. Napotkałem na następujący problem. Mianowicie posiadam np. kontroler index, a w nim dwie akcje: akcja1 i akcja2. I do akcji akcja1 posiadam ustawiony następujący routing w pliku application.ini: Kod resources.router.routes.index_akcja1.route = "akcja1.html" resources.router.routes.index_akcja1.defaults.controller = "index" resources.router.routes.index_akcja1.defaults.action = "akcja1" I teraz chcę w widoku akcji1 stworzyć link do akcji2 więc robię następujący url: I otwierając ten widok standardowo za pomocą url: aplikacja/public/index/akcja1, wartosc tej funkcji jest poprawna. Natomiast wchodząc z adresu "routingowanego" aplikacja/public/akcja1.html, to owa funkcja url zwraca jako wartosc adres obecnege widoku (aplikacja/public/akcja1.html). Dlaczego tak jest? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 25 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Czyli że jako drugi parametr funkcji url muszę podać nazwę routingu?? Zrobiłem tak własnie jak pokazales i niestety nic to nie zmienilo...
Czyli dalej funkcja ta zwraca mi adres "aplikacja/public/akcja1.html" (IMG:style_emoticons/default/sad.gif) @edit Bo oczywiście jeśli ustawie odpowiednio drugi routing do akcja2 i podam jako ten drugi parametr nazwe tego drugiego routingu, to poprawnie mnie przekieruje.. ale ja jednak wlasnie chce zrobic to bez tworzenia tego drugiego routingu... Zeby funkcja url utworzyla link na bazie samego kontrolera + akcji Ten post edytował klapaucius 6.01.2013, 22:58:43 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 25 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok, już rozumiem Twój problem.
Masz 2 rozwiązania: dla każdej akcji definiować nowy routing jeśli jest bardzo niestandardowy. Ale jeśli chcesz ustawić sobie linki w formie: /{nazwa_akcji}.html To możesz spróbować w application.ini: Kod resources.router.routes.index_akcja1.route = ":action.html" Wtedy powinno chyba zadziałać: |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ok, już rozumiem Twój problem. Masz 2 rozwiązania: dla każdej akcji definiować nowy routing jeśli jest bardzo niestandardowy. Ale jeśli chcesz ustawić sobie linki w formie: /{nazwa_akcji}.html To możesz spróbować w application.ini: Kod resources.router.routes.index_akcja1.route = ":action.html" Wtedy powinno chyba zadziałać: Niestety nic to nie zmieniło. W takim skoro nie da się nic zrobić, no to zostanę przy ustawieniu routingu do wszystkich stron. Choć jednak uważam, że jakieś jest to dziwne rozwiązanie, bo muszę teraz routing ustawiać nawet do akcji, które nie mają widoku (a jedynie na przykład przekierowują) i jest to trochę dziwne no ale cóż.. skoro sie nie da inaczej... Ten post edytował klapaucius 8.01.2013, 14:26:00 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 1 Dołączył: 29.03.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
a wyłączałeś domyślny routing zenda?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 15:56 |