Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Routing - domyślna wartość w url, oraz dodawanie niezdefiniowanych parametrów do url
kaem
post
Post #1





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Witam, ucząc się ZF napotkałem na problem ustawienia domyślnej wartości w generowanym adresie url. W application.ini mam:
  1. resources.router.routes.naswojeksiegi.route = "statyczny-tekst/:year/*";
  2. resources.router.routes.naswojeksiegi.defaults.controller = "wierszyk";
  3. resources.router.routes.naswojeksiegi.defaults.action = "naswojeksiegi";
  4. resources.router.routes.naswojeksiegi.defaults.year = 1234;
  5. resources.router.routes.naswojeksiegi.reqs.year = "\d+"

Mając 'route = "statyczny-tekst/:year/*";' generuje mi takiego linka 'costam/statyczny-tekst' bez ustawionego 'year', a chciałbym mieć taki adres:
statyczny-tekst/1234.html.
Jak zrobię
  1. resources.router.routes.naswojeksiegi.route = "statyczny-tekst/:year/.html";
to wstawia za 'year' wartość 1234, ale url wygląda tak:
statyczny-tekst/1234/.html. Próbowałem różnych kombinacji wartości route, ale nie moge dojść jak to zapisać. Pomoże ktoś?

PS: chciałem zrobić tak jak to jest TUTAJ(zend manual) w 1-szym przykładzie.

Ten post edytował kaem 28.12.2011, 17:03:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kaem
post
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Więc tak: chce mieć taki adres, żeby bezpośrednio za zmienną było '.html' czyli np. 'jakis/adres/MOJA-ZMIENNA.html'. Nie wiem jak ustawić wartość resources.router.routes.naswojeksiegi.route aby to osiągnąć.
Adres generuje za pomocą funkcji url:
  1. $this->url(array(), 'naswojeksiegi')


Cytat
Jeśli chcesz mieć rok w adresie to dlaczego go nie przekażesz do helpera url?
Czasami miałem takie sytuacje, że pod zmienną pobieraną z bazy nie było żadnej wartości, i żeby nie psuć linka musiałem dodać jakąś domyślną wartość.


Mam jeszcze jedno pytanie:
1. Czasami chciałbym przekazać parametry, które nie były wcześniej zdefiniowane, czyli np. robię tak:
  1. echo $this->url(array('zmienna1' => 'wartosc1', 'year' => '2011'), 'naswojeksiegi')
ale zmienna1 nie jest generowana w url. Czyli chce mieć coś takiego: 'jakis/adres/2011.html?zmienna1=wartosc1' Jak to można osiągnąć?

Ten post edytował kaem 28.12.2011, 17:05:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 08:57