Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przyjazne url na zend framework 1
Forum PHP.pl > Forum > PHP
rambo123
Czesc


Czy jest mozliwe zrobic przyjazne url na zend framework wg ponizszego opisu ?

1. Statyczne podstrony (PageController)
I chce żeby linki wygladaly tak : http://domain.com/{page_name}

2. Listingi listingi mogą przybierać ale nie musza 3 parametry( tak jakby wyszukiwarka )(ListingController)
url do tego wygladaly by mniej więcej tak
http://domain.com/{param1}
http://domain.com/{param1}/{param2}
http://domain.com/{param1}/{param2}/{param3}
http://domain.com/{ param2}/
http://domain.com/{ param2}/{param3}

3. Link do poszzegolnego itemu z listingu (ItemController)
http://domain.com/{param1}/{param2}/{item-name}

Czy jest to mozliwe zrobic w zend framework 1 ? W url nie chce zadnych id(cyfr)
Jak do tego zdefiniowac definicje routingu zeby sie wlaczaly odpowiednie kontrollery i akcje ?




Pozdrawiam i z góry dziekuje za info smile.gif


Daimos
z tym:
http://domain.com/{page_name}
możesz mieć problemy, bo:
http://domain.com/{param1} jest tym samym
Najłatwiej zrobić dla stron routing z wyrażeniem regularnym i bez problemu w tedy obsłużysz linki typu:
http://domain.com/{page_name}.html
ewentualnie, możesz zrobić coś w stylu:
http://domain.com/strona/{page_name}

Znowu te Twoje mieszanki param1/param2 też nie są realne, bo raz chcesz, żeby param1 było pierwszym elementem, a raz param2.

Zobacz sobie dział routingu w dokumentacji, możesz korzystać z wyrażeń regularnych, ale jak chcesz zrobić jakieś cuda, gdzie raz jest:
http://domain.com/{param1}
a później:
http://domain.com/{ param2}/
to musisz pisać swoje rozszerzenia (wystarczy plugin kontrolera dodać) i może wtedy sam rozpoznasz, co to za parametr, bo routing standardowy tego magicznie nie rozróżni smile.gif
rambo123
Jeszcze jedno pytanie


Jak moge zbudowac regexa do routa ze jesli 1 parametr jest pusty to nie dokleja mi '/' ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.