Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] - problem z routingiem
Forum PHP.pl > Forum > PHP > Frameworki
Gerwazy
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ć?
Daimos
podaj nulllllla
  1. <?
  2. $this->url( array('category' => null), 'pagination' );
  3. // albo pustego stringa jak nie pomoze
  4. $this->url( array('category' => ''), 'pagination' );
Gerwazy
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?
luki100011
zawsze można kilka zdefiniować
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.