2012-06-29 2 views
1

Я создал маршрут, который выглядит как этотCakePHP Маршруты и Pagination

Router::connect('/:slug', array('controller' => 'categories', 'action' => 'view'), 
                array('pass' => array('slug'))); 

До здесь, все работает ОКЕЙ, посетив ссылку http://example.com/animals-and-pets, отлично работает.

На этой странице у меня есть разбиение на страницы, и это дает мне большую проблему, ссылки на страницы, порождают ошибки, например: http://example.com/categories/view/animals-and-pets/page:2.

Результат, который я хочу получить, - example.com/animals-and-pets/2.

Спасибо за вашу помощь заранее!

+0

это где торт становится сложным n_n – pleasedontbelong

ответ

0

я однажды сделал это так: change CakePhp1.3 paginator destination url?

Тем не менее, может получить гораздо проще, если вы используете \page:2 вместо \2

Сейчас в торте 2.0 я называю $this->Paginator->options(), чтобы установить правильный URL в перед остальными вариантами разбиения на страницы. Что-то вроде:

//Set the correct url for the pagination, cake will add the "page:" and "sort:" variables to this url 
$this->Paginator->options(array('url'=> array('controller' => 'categories', 'action' => 'view', 'slug' => $this->params['pass'][0]))); 
//now display the pagination 
echo $this->Paginator->counter(array('format' => __('Page {:page} of {:pages}'))); 
echo $this->Paginator->prev('«', array(), null, array('class' => 'prev disabled')); 
echo $this->Paginator->numbers(array('separator' => '')); 
echo $this->Paginator->next('»', array(), null, array('class' => 'next disabled')); 

Надеется, что это помогает