Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CakePHP] Ustawienie adresu linków paginatora
Bajki
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


Witam
Mam mały problem z paginatorem. Mianowicie linki 'next >>' i '<< previous' zawsze odsyłają pod adres :
Kod
http://localhost/kontroler/akcja/page:x


Podział na strony mam w akcji index() ale w adresie nie uzywam nazwy akcji tzn nie uzywam adresu
Kod
http://localhost/kontroler/index

tylko
Kod
http://localhost/kontroler


Niestety adresy linków paginatora mają domyślny adres kontroler/akcja/page:x a to troche mi nie leży... czy istnieje jakiś sposób na ręczną zmianę linków paginatora dla pojedynczej akcji ? Możecie stwierdzić, że nawet jeśli taki sposób jest, to to nie zadziała ale zawsze moge sobie w htaccessie dopisać maskowanie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam !
Go to the top of the page
+Quote Post
woj_tas
post
Post #2





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

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


Można, podaj bardziej konkretny przykład.

Cytat
Podział na strony mam w akcji index() ale w adresie nie uzywam nazwy akcji tzn nie uzywam adresu

Możesz to rozwinąć?
Go to the top of the page
+Quote Post
Bajki
post
Post #3





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


Mam stworzony kontroler
shows_controller.php :
  1. <?php
  2.  
  3. class ShowsController extends AppController
  4. {
  5.    var $name = 'Shows';
  6.    var $helpers = array('Modifier', 'Component');
  7.    var $paginate = array('limit' => 5, 'page' => 1, 'order'=>array('date' => 'desc'));
  8.    
  9.    function index()
  10.    {
  11.        # $this->set('shows', $this->Show->findAll(null, null, 'Show.date DESC'));
  12.        $this->set('shows', $this->paginate('Show'));
  13.    }
  14.    
  15.    function view($date = null)
  16.    {
  17.        $this->set('shows', $this->Show->findByDate($date));
  18.    }
  19.  
  20.  
  21. }
  22.  
  23. ?>


Jest on wczytywany jako strona główna serwisu (wpis w config/routes.php) :
  1. <?php
  2. Router::connect('/', array('controller' => 'shows', 'action' => 'index'));
  3. ?>


I zasadniczo wszystko działa tylko poprostu po kliknięciu w "Następna strona" adres zmienia się z
Kod
http://localhost/
na
Kod
http://localhost/shows/index/page:2
a ja jednak wolał bym zachować postać
Kod
http://localhost/page:2
(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Bajki 11.12.2008, 19:40:41
Go to the top of the page
+Quote Post
woj_tas
post
Post #4





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

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


Standardowo tego nie zrobisz. Rozwiązaniem jest napisanie własnego helpera.
Go to the top of the page
+Quote Post
Bajki
post
Post #5





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


ok, poradziłem sobie z samym linkiem do strony tworząc helpera usuwającego z generowanego kodu ciąg znaków 'shows/index/' jednak teraz pojawił się problem z dodaniem do .htaccess linijki maskującej adres
Cytat

na
Cytat


Okazuje się bowiem, że kiedy robie to poprzez edycje .htaccess, CakePHP nadpisuje plik .htaccess jakąs tam domyślną wersją a co za tym idzie moje maskowanie nie działa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) domyślam się, że trzeba to zrobić w routes.php jednak po przeszukaniu dokumentacji, google i wyprobowaniu wielu możliwości byłem zmuszony się poddać...czy macie jakieś pomysły co do rozwiązania tego problemu ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
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: 25.08.2025 - 01:32