Почему нумерация страниц не работает правильно? - PullRequest
0 голосов
/ 20 сентября 2011

У меня проблема.Мой скрипт разбиения на страницы Kohana не работает правильно.Должно иметь следующее: [http://127.0.0.1/?page=1],, но у меня есть следующее - [http://127.0.0.1/index.php/?page=1] и записей из базы данных на домашней странице 2 (всего записей 2, я установил items_per_page в 1), но должен иметь только 1 запись.Где проблема?

Контроллер:

public function action_index()
    { 
      $pagination = Pagination::factory(array(
        'total_items'=> Model::factory('index')->get_count(),
        'items_per_page' => 1,));

      $articles_ = Model::factory('index')->do_magic();
      $this->template->page_title = 'Sākums';
      $this->template->site_name = Kohana::$config->load('common')->get('site_name'); 
      $this->template->content = View::factory('index/index')
              ->set('query', $articles_)
              ->set('pagjinaacija', $pagination->render()); 
      $this->template->styles[] = 'index/index';
    }

Вид

<?php 
foreach($query as $row) {
    echo '<h2>'.$row['title'].'</h2>';
    echo '<p style="margin:0">'.$row['content'].'</p>';
}
echo $pagjinaacija;
?>

И модель

Class Model_Index Extends Model {
    public function get_count() {
    return  DB::query(Database::SELECT, 'SELECT COUNT(*) AS count FROM posts')->execute()->get('count');

}
    public function do_magic() {
        $query = DB::query(Database::SELECT, 'SELECT * FROM posts ORDER By id DESC')->execute()->as_array();
        return $query;


    }
}

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

вы можете установить bootstrap.php:

Route::set('index_page','yourcontroller/index(/<page>)', array('page' => '[0-9]+'))
    ->defaults(array(
        'controller'    => 'yourcontroller',
        'action'    => 'index',
    ));
1 голос
/ 20 сентября 2011

Есть 2 проблемы:

  1. Вы не используете правила перезаписи URL для перезаписи /index.php?page=2 в /? Page = 2
  2. На самом деле вы не используете параметр запроса страницы для фильтрации записей, возвращаемых из БД, поэтому он отобразит их все.

Объект нумерации страниц используется только для визуализации элемента управления нумерацией страниц, а не для фактической фильтрации записей в БД.

...