Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] - problem z routingiem
Gerwazy
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 27.07.2009

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


Witam,

napisałem nowy router na stronę ale nie działa do końca tak jak bym chciał. Mam ogromną nadzieję że któryś z
fachowców od Zenda mi pomoże.
Oto config.php

  1. ;PAGINATION
  2. routes.pagination.type = "Zend_Controller_Router_Route_Regex"
  3. routes.pagination.route = "([a-z]{0,})/{0,1}([0-9]{0,})\.html"
  4. routes.pagination.defaults.controller = "index"
  5. routes.pagination.defaults.action = "index"
  6. routes.pagination.defaults.page = "1"
  7. routes.pagination.defaults.category = "default"
  8. routes.pagination.map.1 = "category"
  9. routes.pagination.map.2 = "page"
  10. routes.pagination.reverse = "%s/%s.html"


Powinne działać następujące linki
http://domena.pl/3.html ( domyslna kategoria 'default', strona 3 )
http://domena.pl/samochody/3.html (kategoria 'samochody', strona 3)
http://domena.pl/samochody.html (kategoria 'samochody', domyslna strona 1)

Wszystko działa dobrze jeżeli wpisujemy adres bezpośrednio w pasku adresu,
problem pojawia się kiedy używamy helper adresu.
naprzykład:

  1. $this->url( array('category' => 'samochody'), 'pagination' ); // zwraca domena.pl/samochody/1.html a chcę domena.pl/samochody.html
  2. $this->url( array('page' => 3 ), 'pagination' ); // zwraca domena.pl/default/1.html a chcę domena.pl/3.html


czyli jak nie podamy kategorii (na przykład używając paginacji na stronie głównej ), paginator dodaje nam do adresu domyślną kategorię

ma może kto pomysł jak to rozwiązać?

Ten post edytował Gerwazy 11.11.2010, 19:28:17
Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


podaj nulllllla
  1. <?
  2. $this->url( array('category' => null), 'pagination' );
  3. // albo pustego stringa jak nie pomoze
  4. $this->url( array('category' => ''), 'pagination' );


Ten post edytował Daimos 13.11.2010, 14:06:10
Go to the top of the page
+Quote Post
Gerwazy
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 27.07.2009

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


Jak daje null albo '' to url'e generują się błędnie:

  1. $this->url( array('category' => null, 'page' = 3 ), 'pagination' ); // generuje niestety link domena.pl/default/3.html
  2. $this->url( array('category' => 'samochody', 'page' => null), 'pagination' ); // generuje domena.pl/samochody/.html


problem wydaje się jest z tym wierszem

  1. routes.pagination.reverse = "%s/%s.html"


linki są generowane zawsze zgodnie z tym wzorem. Więc pytanie: czy jest możliwość utworzenia bardziej dynamicznego reversa albo zdefiniowania kilku?
Go to the top of the page
+Quote Post
luki100011
post
Post #4





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

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


zawsze można kilka zdefiniować
Go to the top of the page
+Quote Post

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: 22.08.2025 - 15:28