Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP] Ustawienie adresu linków paginatora
Forum PHP.pl > Forum > PHP > Frameworki
Bajki
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 winksmiley.jpg

Pozdrawiam !
woj_tas
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ąć?
Bajki
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
winksmiley.jpg
woj_tas
Standardowo tego nie zrobisz. Rozwiązaniem jest napisanie własnego helpera.
Bajki
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 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 ? smile.gif

Pozdrawiam
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.