Witam,
z góry przepraszam jeśli mój problem jest banalny. Próbowałem znaleźć rozwiązanie w internecie niestety bez efektu, dlatego też będę wdzięczny za wszelką możliwą pomoc.
Otóż sprawa przedstawia się następująco. Robię pewien projekt, nie jest to nic niezwykłego ani nadzwyczaj odkrywczego - raczej sztuka dla sztuki by jak najlepiej poznać Zend Framework. Pracuję na wersji numer 1 jeśli to ma znaczenie. A przechodząc do sedna.
Potrzebowałbym Waszej pomocy w opracowaniu reguł dla routera pozwalających na wyłapanie następujących adresów:
1) /katalog/kategoria/podkategoria/podpodkategoria/podpodpodkategoria/....
Czyli po prostu w adresie pełne odzwierciedlenie ścieżki. W tym wypadku interesuje mnie wartość ostatniej kategorii, pozostałe można pominąć. Dobrze by jednak było bym za pomocą helpera Url mógł utworzyć taki adres. Prefiks "katalog" jest wartością stałą.
2) /katalog/kategoria/podkategoria/podpodkategoria/podpodpodkategoria/..../poppodpodpodpodkategoria/artykuł
Tutaj podobnie jak w punkcie 1 z tą różnicą, że na końcu dochodzi jeszcze artykuł. Z tego adresu interesuje mnie wartość ostatniej kategorii oraz artykułu
3) /katalog/1_kategoria/31_podkategoria/34_podpodkategoria/45_podpodpodkategoria/..../78_poppodpodpodpodkategoria/1_artykuł
Tutaj podobnie jak w punkcie numer 2 z tą różnicą, że pojedynczy fragment to praktycznie para id_nazwa
4) http://x.example.com/katalog/1_kategoria/3...goria/1_artykuł
Tutaj jak w punkcie numer 3 ale dodatkowo potrzebne wyłapanie hostname.
Będę bardzo wdzięczny za wszelkie podpowiedzi, sugestie, przykłady etc. Myślałem nad wykorzystaniem łańcucha by dodać informacje o artykule bądź też najpierw wyłapanie hostname, potem statyczny, potem ścieżka kategorii, potem właściwa kategoria, potem artykuł, a jeszcze za tym mogą być standardowe pary parametrów. Przy czym nie potrafię poradzić sobie z zaimplementowaniem obsługi dowolnego poziomu zagnieżdżenia.
Czy ktoś z Was się spotkał się z takim zagadnieniem i mógł mnie naprowadzić?
Pozdrawiam serdecznie,
Łukasz Piotr Łuczak
--- add:
Znalazłem teraz coś takiego:
http://www.zfsnippets.com/snippets/view/id/29
Spróbuję nad podstawie tego znaleźć jakieś rozwiązanie. Mimo wszystko nadal będę wdzięczny za sugestie.
--- add2:
Magia jakaś czy co? Znalazłem inne rozwiązanie bazujące na utworzeniu Zend_Controller_Plugin_Abstract i w zdarzeniu routeStartup zedytować ciąg zapytania poprzez getRequestUri oraz setRequestUri. Może to rozwiązanie nie zapewni mi łatwego generowania adresu za pomocą helpera ale mimo wszystko pozwoli wywoływać odpowiednie akcje a to już sukces.