konto usunięte

Temat: Paginacja z brzydkim url działa, z takim jak bym chciał...

Witam,

morduję się z kolejną rzeczą, a mianowicie paginacją w cakephp 2.0...

mam działającą paginację, która działa tak:

Router::connect('/wszystkie-produkty', array('controller' => 'products', 'action' => 'sitemap_products'))

i URL do 2 strony wyników wygląda tak: /products/sitemap_products/page:2
i URL do 3 strony wyników wygląda tak: /products/sitemap_products/page:3
itd.; w takiej postaci to dziala, ale nie zadowala mnie wyglad adresu url;

natomiast nie potrafię zrobić, by ta paginacja zadziałała dla URL:
/wszystkie-produkty/2
/wszystkie-produkty/3

próbowałem robić
Router::connect('/wszystkie-produkty/:page', array('controller' => 'products', 'action' => 'sitemap_products', 'page' => '[0-9]+'))
... ale paginacja w takim przypadku nie dziala (adresy url sie zmieniają ładnie, ale już nie wyswietla kolejnych stron wynikow)

nie wiem, czy to kwestia po stronie routingu, czy moze powinienem coś w kontrolerze PRODUCTS zmienić/poprawić...

i na dodatek nie rozumiem błędu "Warning (2): preg_match() [function.preg-match]: Numeric named subpatterns are not allowed [CORE\Cake\Routing\Route\CakeRoute.php, line 178]" co mu nie pasuje...

za pomysł/podpowiedź z góry dziękuję

Ciasteczkowy Potwór

konto usunięte

Temat: Paginacja z brzydkim url działa, z takim jak bym chciał...

Ja zawsze dodaję 3 wpisy, dzięki czemu dla pierwszej strony mam bez liczby, a dla kolejnych już z liczbą:


Router::connect('/wszystkie-produkty', array('controller' => 'products', 'action' => 'sitemap_products', 'page' => '',));
Router::connect('/wszystkie-produkty', array('controller' => 'products', 'action' => 'sitemap_products', 'page' => 1,));
Router::connect('/wszystkie-produkty/:page', array('controller' => 'products', 'action' => 'sitemap_products',), array('page' => '\d+',));

konto usunięte

Temat: Paginacja z brzydkim url działa, z takim jak bym chciał...

niestety nie zadziałało, mimo kombinacji na kilka sposobów, efekt jest ten sam, dochodzę do momentu, gdzie klikanie w linki paginatora [2] [3] nie pokazują drugiej, trzeciej strony wyników; nie robią nic, nie wywalają błędu;

nie wiem, czy ja mam cos zle skonfigurowanego Cake'a, czy coś w kontrolerze jest nie tak, routing poprawiłem i ... nawet rozumiem logikę tej podpowiedzi Mateusza... ale, ale mi to nie zadziałało :(

dopiszę jeszcze co mam w kontrolerze Products, akcji sitemap_products

[products_controller.php]

function sitemap_products()
{
$this->Product->recursive = 0;
$this->paginate = array('limit' => 30, 'conditions'=>array('Product.active != ' => '0'), 'order'=>array('Product.name' => 'ASC'));
$products = $this->paginate('Product');
$this->set(compact('products'));
}

... a błędów nie wyrzuca żadnych (tylko iteruje w adresie URL numery stron wyników, ale bez efektu pokazywania tych wyników); czy zatem może być to wina po stronie kontrolera, widoku, czy gdzieś indziej?

a poki co kombinuję dalej :(

mimo to dzieki za odpowiedzi...



Wyślij zaproszenie do