![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 24.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Od pewnego czasu walczę z jednym nieprzyjemnym problemem routera w Zendzie Frameworku. Kod routes.czytaj.type = "Zend_Controller_Router_Route_Regex" 1routes.czytaj.route = "([^-].*)/news/n_(\d+)_(.+)" routes.czytaj.defaults.module = "cms" routes.czytaj.defaults.controller = "news" routes.czytaj.defaults.action = "czytaj" ; routes.czytaj.map.1 = "separator" routes.czytaj.map.1 = "id" routes.czytaj.map.2 = "link" ; routes.czytaj.reverse = "%s/news/n_%s_%s" Problem polega na tym, że ścieżka do newsa będzie wyglądała albo tak: www.domena.pl/news/n_10_link-do-newsa albo tak: www.domena.pl/english/news/n_15_link-do-newsa Chciałbym, aby mój router potrafił rozpoznać, czy zmapowana wartość separator (która jest teraz zakomentowana) jest pusta czy nie i niezależnie od tego przekierowywał do kontrolera news, wykonując potem akcję czytaj. Wiem, że mogę rozbić ten jeden wpis na dwa, ale to wydaje mi się bardzo ekstremalne rozwiązanie (tym bardziej, że będę miał kilka takich sytuacji). ([^-].*) to wynik moich ostatnich prób. Przedtem wstawiałem tam (.+), (.*), . , ([.+]|()) - albo coś w tym stylu. Jednak żaden ze wzorów nie pasował do formatu linka bez separatora (www.domena.pl/news/n_10_link-do-newsa). |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zend_Controller_Router_Route_Chain
Wystarczyła chwila z manualem. Ten post edytował LBO 13.10.2009, 20:25:37 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 21:48 |