Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Pagination с 3.2 в 3.3
http://forum.kohanaframework.su/viewtopic.php?f=2&t=773
Страница 1 из 1

Автор:  John McClane [ 23 ноя 2013, 03:20 ]
Заголовок сообщения:  Pagination с 3.2 в 3.3

Пытаюсь прикрутить pagination модуль с 3.2 в 3.3, почти всё работает.
вот роут:
Код:

Route
::set('admin''admin(/<controller>(/<action>(/page-<page>)(/<id>)))', array('page' => '[0-9]+''id' => '[0-9]+'))
    ->
defaults(array(
        
'directory' => 'admin',
        
'controller' => 'main',
        
'action'     => 'index',
    ));
 

В модуле вот эта строка, для source => route

Код:
return URL::site(Request::current()->uri(array($this->config['current_page']['key'] => $page))).URL::query(); 


возвращает вот это:

Цитата:
/GET 1 HTTP/1.1 Host: kohana User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru,ru-ru;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Dnt: 1 ......
и т.д.

а вот так:
Код:
return URL::site(Request::current()->uri())).URL::query(); 

возвращает просто путь без указания странички.

В чём проблема?

Автор:  WinterSilence [ 23 ноя 2013, 14:54 ]
Заголовок сообщения:  Re: Pagination с 3.2 в 3.3

1. id убери из роута, он там ни к чему и заведи привычку указывать правила и значения по умолчанию для всех параметров. 2.интересует каким образом ты вызываешь рендеринг пагинатора: если подзапросом, то Request::current() не годится

Автор:  John McClane [ 23 ноя 2013, 16:45 ]
Заголовок сообщения:  Re: Pagination с 3.2 в 3.3

Код:
$count = ORM::factory('product')->count_all();        
       
        $pagination = Pagination::factory(array(
            'total_items' => $count,
        ));
       
        $products = ORM::factory('product')
                ->order_by('id', 'DESC')
                ->limit($pagination->items_per_page)
                ->offset($pagination->offset)
                ->find_all();


Потом просто передаю $pagination и вывожу его в шаблоне.
Страницы он считает правильно, и выводит правильно постраничку, но ссылки на страницы представляют из себя то что я написал выше.
И тот кусок кода:
Код:
return URL::site(Request::current()->uri(array($this->config['current_page']['key'] => $page))).URL::query(); 

Взят именно из самого модуля. То есть при передачи в uri параметра, в моём случае это номер страницы, происходит что-то не понятное.

WinterSilence писал(а):
id убери из роута, он там ни к чему и заведи привычку указывать правила и значения по умолчанию для всех параметров.

Я только начинаю осваиваться в Kohana. И почему id надо убрать? Мне как бы надо редактировать информацию, поэтому я передаю id чтоб вытянуть нужное.

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/