![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 6 Dołączył: 20.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zrobiłem paginację dla postów, które wyświetlane są na stronie głównej. Problem polega na tym, że adres do stron paginacji jest następujący ./index/index/page/2 - chciałbym zamiast tego wyświetlać po prostu ./strona/2 niby osiągnąłem to co chciałem, ale nie do końca. w application.ini dałem: Kod resources.router.routes.default.route = "strona/:page" resources.router.routes.default.defaults.controller = index resources.router.routes.default.defaults.action = index resources.router.routes.default.defaults.page = 1 teraz paginacja działa ok, ale link do strony głównej zmienił się na: ./strona a adres do postów są następujące: ./strona/slug domyślam się, że ma to związek z domyślnym routingiem - ale jak to ustawić, żeby działało i nie kolidowało ze sobą? dzięki wielkie (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 5 Dołączył: 9.02.2011 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 6 Dołączył: 20.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Jestem pewny na 90%, że jeśli nie poda się w helperze url drugiego parametru (oznaczającego nazwę routingu) to powinien on być dziedziczony z default albo z tego, który jest używany na bieżącej stronie. Sprawdź czy nie ma gdzieś tam metody ->setDefaultRoute czy czegoś w tym rodzaju. Bo zmieniać w każdym widoku podpiętym pod dany kontroler URLe średnio się widzi.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 11 Dołączył: 27.10.2010 Skąd: Kutno/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jest używany pierwszy routing który pasuje do schematu (a więc aktywny).
Nie polecam definiowania routingu w pliku ini, można to zrobić na 2 inne sposoby. 1. w bootstrap.php Moim zdaniem najlepsze miejsce na zdefiniowanie routingu (jeżeli nie jest trzymany w bazie lub plikach zewnętrznych). Tworzymy coś takiego:
Ten sposób (moim zdaniem) jest najlepszy, w szczególności gdy mamy aplikacje która posiada jakieś dodatkowe moduły, wtedy możemy definiować ścieżki do danego modułu w jego własnym bootstrap.php. Drugim sposobem jest umieszczenie powyższego kodu w pluginie, tylko trzeba pamiętać, aby zdefiniować routing w routeStartup() bo aplikacja nie będzie wiedziała o routingach podczas sprawdzania ścieżek, i będą się działy cuda na kiju, bo routing nie będzie sobie zdawał sprawy z istnienia dodatkowych scieżek, i nie będzie wiedział jak je przepisać, ale widok już będzie miał te informacje i ścieżki będzie dobrzy wysyłał. A propos ścieżki do katalogu domowego, to ja ją definiuję tak:
i jeszcze bardzo fajna rzecz: Zend_Route, Zend_Translate, Zend_Acl, Zend_Auth, Zend_Navigation - bardzo dobrze ze sobą współpracują: Acl ustawia przywileje użytkownikowi który zalogował się przez Auth, jednocześnie Zend_Route sprawdza przy użyciu zend Acl czy użytkownik może korzystać z danego zasobu i przekazuje tą informację do Zend_Navigation, tak, że użytkownik nie zobaczy odnośników do których nie ma dostępu. Ten post edytował KrzysiekWildfire 12.03.2012, 19:22:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 21:00 |