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

Pagination отображения
http://forum.kohanaframework.su/viewtopic.php?f=31&t=675
Страница 1 из 2

Автор:  ingvar [ 12 июн 2013, 14:14 ]
Заголовок сообщения:  Pagination отображения

Всем привет. Столкнулся с такой проблемой при выводе адреса появляется какой то лишний путь /kohana/admin/pages/index/page/2?%2Fadmin%2Fpages= вместо /kohana/admin/pages/index/page/2 обе ссылки работают
но 1 появляется когда нажимаешь в пагинаторе
откуда это ?%2Fadmin%2Fpages= берется
помогите решить это

роут
Код:
Route::set('admin', 'admin(/<controller>(/<action>(/<id>)(/page/<page>)))')
   ->defaults(array(
            'directory'  => 'Admin',
            'controller' => 'Main',
            'action'     => 'index',
   ));

Автор:  AmberLEX [ 12 июн 2013, 15:31 ]
Заголовок сообщения:  Re: Pagination отображения

А в конфиге что?
'current_page' => array('source' => 'route', 'key' => 'page'),

Автор:  WinterSilence [ 12 июн 2013, 15:36 ]
Заголовок сообщения:  Re: Pagination отображения

модулей пагинации как грязи, возьми посвежее, может банальные баги, https://github.com/shadowhand/paginatio ... 3.3/master

Автор:  ingvar [ 12 июн 2013, 19:45 ]
Заголовок сообщения:  Re: Pagination отображения

AmberLEX писал(а):
А в конфиге что?
'current_page' => array('source' => 'route', 'key' => 'page'),


да

Код:
return array(
   'default' => array(
      'current_page'      => array('source' => 'route', 'key' => 'page'),
      'total_items'       => 0,
      'items_per_page'    => 1,
      'view'              => 'pagination/basic',
      'auto_hide'         => TRUE
,      'first_page_in_url' => FALSE,
   ),

);


контролер
Код:
public function action_index() {

        $count = ORM::factory('Page')->count_all();

        $pagination = Pagination::factory(array(
                    'total_items' => $count,
                ))->route_params(array(
       
            'directory' => Request::current()->directory(),
            'controller' => Request::current()->controller(),
            'action' => Request::current()->action(),
        ));



        $pages = ORM::factory('Page')
                ->limit($pagination->items_per_page)
                ->offset($pagination->offset)
                ->find_all();

        $content = View::factory('Admin/Pages/V_pages_index', array(
                    'pages' => $pages,
                    'pagination' => $pagination,
        ));

        // Вывод в шаблон
        $this->template->block_center = array($content);
    }

Автор:  WinterSilence [ 12 июн 2013, 19:50 ]
Заголовок сообщения:  Re: Pagination отображения

если в браузере ввести /kohana/admin/pages/index/page/2 , то ссылка такая же? вообще похоже на проблему с кодировкой. какая используется?

Я вот так использую:

Код:
   public function action_list()
   {
      $model = ORM::factory('Page');
      foreach($this->_settings as $value)
      {
         $model->where($value[0], $value[1], $value[2]);
      }
      // № текущей страницы
      $page = Arr::pull_out($this->param, 'page', 1);
      // Пагинация
      $paginator = Pagination::factory(array('total_items' => $model->reset(FALSE)->count_all()));
      // Проверка № страницы
      if($paginator->check($page))
      {
         $this->view->pages = $model->items_list(
            --$page,
            $paginator->items_per_page,
            Arr::get($this->param, 'sort_order', 'id'),
            Arr::get($this->param, 'direction', 'asc')
         );
         // Список страниц
         $this->view->pagination = $paginator->render();
         return TRUE;
      }
      
      throw HTTP_Exception::factory(404, __('Page list :url not found', array('url' => $this->request->url())));
   }


Код:
   Route::set('division_list', '<controller>/list(/<page>(/<sort_order>(/<direction>)))(/)', 
      array(
         'page'       => '[0-9]*',
         'sort_order' => '[a-zA-Z0-9_\-]*',
         'direction'  => '(asc|desc)',
      ))->defaults(array(
         'directory'  => 'Division',
         'action'     => 'list',
         'page'       => '1',
         'sort_order' => 'id',
         'direction'  => 'asc',
      ));

Автор:  ingvar [ 12 июн 2013, 21:14 ]
Заголовок сообщения:  Re: Pagination отображения

если ввести /kohana/admin/pages/index/page/2 то ссылка такая и есть
кодировка utf8 везде

Автор:  WinterSilence [ 12 июн 2013, 21:17 ]
Заголовок сообщения:  Re: Pagination отображения

route_params попробуйте не передавать и если не поможет попробуйте другую версию модуля

Автор:  ingvar [ 12 июн 2013, 21:27 ]
Заголовок сообщения:  Re: Pagination отображения

я пробовал но если его не передавать то выкидывает по ссылки на главную страницу админки по дефаулту

/kohana/admin/main/index/page/2?%2Fadmin%2FPages= и тоже с этой штукой на конце

Автор:  AmberLEX [ 12 июн 2013, 21:49 ]
Заголовок сообщения:  Re: Pagination отображения

Попробуйте тот что в архиве

Вложения:
pagination.zip [6.22 КБ]
Скачиваний: 282

Автор:  ingvar [ 12 июн 2013, 22:08 ]
Заголовок сообщения:  Re: Pagination отображения

AmberLEX писал(а):
Попробуйте тот что в архиве


попробовал но то же самое
у меня по тот же архив , похож

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