2009-07-03 5 views
4

Когда я использую CakePHP пейджинг я получаю URL, как это:CakePHP Разбивка - как удалить «страницу:» из URL для лучшей поисковой оптимизации/очиститель URL

http://example.com/php/page:2 

Что я должен изменить в контроллере, вид и route.php для создания рабочего URL-адреса:

http://example.com/php/2 

ответ

2

О да, теперь я вижу ваш вопрос. Ну вы могли бы сделать что-то вроде:

function index($page){ 
    $this->paginate = array('page'=>$page); 
    $this->set('stuff', $this->paginate('YourControllerName')); 
} 

Смотрите здесь для более подробной информации: http://bakery.cakephp.org/articles/view/basic-pagination-overview-3

Кроме того, конечно, вы должны сделать некоторые проверки, что страница является фактическим числом и что страница будет даже существовать, но то есть основы этого, я думаю.

О маршрутах и ​​представлениях, я никогда не пробовал, но посмотрю эти сообщения на группы торта, я думаю, что у них есть проблема, похожая на вашу.

http://www.mail-archive.com/[email protected]/msg45878.html

+0

Я думаю, что вы меня не поняли, я хочу, чтобы создавать различные пейджинг-URL. В CakePHP вы можете использовать функцию Pagination для разделения данных между разными страницами. URL-адрес автоматически создается CakePHP, а «страница: 2» означает: покажите мне данные, которые не помещались на первой странице (например, первые 15 элементов), «страница: 3» затем покажет мне элементы 30- 45 и т.д. –

0

Я думаю, что это не будет легко автоматизировать, вам обязательно нужно сделать некоторые настройки.

Для начала вам, вероятно, придется создать свой собственный помощник paginator и наследовать значение по умолчанию. По внешнему виду кода вам нужно переопределить код генерации ссылок в PaginatorHelper :: __ pagingLink(), но, вероятно, числа() и prev() и т. Д., Так как все они создают ссылки с параметром page.

Возможно, лучшим способом было бы переопределить AppHelper :: url(), проверить здесь параметр «page» и изменить URL-адрес, чтобы удовлетворить ваши потребности.

Но, я не пробовал все это, так что никаких гарантий ..

 Смежные вопросы

  • Нет связанных вопросов^_^