Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 06 июл 2025, 00:06

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 15:08 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
1)старого роутера у меня для того контроллера нет, по этому написал то, что вы дали
2)поискал в инете написал вот такое в контроллер
Код:
// получаем общее количество пользователей
$count = ORM::factory('user')->count_all();

// передаем значение количества пользователей в модуль pagination и формируем ссылки
$pagination = Pagination::factory(array('total_items' => $count))->route_params(array('controller' => Request::current()->controller(), 'action' => Request::current()->action(),));

//получаем пользователей с указанной позиции ($pagination->offset)
//и указанное количество на страницу ($pagination->items_per_page)
$users = ORM::factory('user')
->limit($pagination->items_per_page)
->offset($pagination->offset)
->find_all();

//выводим данные в вид
$this->template->main = View::factory('index/v_users',
array('users' => $users, 'pagination' => $pagination ));


выдало
The requested view index/v_users could not be found

немного поменял выдало вот такое
Creating default object from empty value


$this->template->main = View::factory('admin/userlist',
array('users' => $users, 'pagination' => $pagination ));

admin/userlist что тут написать нужно? и место меин вроде надо..или я ошибаюсь?

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 15:32 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Ваш код:
Код:
      $data['users'] = $user->getUserList($filter);
      $data['notes'] = $user->getDistinctNotes();
      $data['filter'] = $filter;
     
      $this->tpl->content =  View::factory('admin/userlist', $data);


Попробуйте добавить выше

Код:
$data['pagination'] = $pagination;


И в виде, где пользователей выводите, в месте, где вам нужен пагинатор напишите <?php echo $pagination; ?>

P.S. Код из инета норм. Должно подойти. Кроме названий вида-поправьте на то, что я написал выше.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 16:04 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
эх я...что то туплю

смотрите

Код:
      $data['pagination'] = $pagination;
      $data['users'] = $user->getUserList($filter);
      $data['notes'] = $user->getDistinctNotes();
      $data['filter'] = $filter;
      
      $count = ORM::factory('user')->count_all();
      
      $pagination = Pagination::factory(array('total_items' => $count))->route_params
      (array('controller' => Request::current()->controller(), 'action' =>Request::current()->action(),));
      
      $users = ORM::factory('user')
      ->limit($pagination->items_per_page)
      ->offset($pagination->offset)
      ->find_all();

      $this->template->main = View::factory('admin/userlist',
      array('users' => $users, 'pagination' => $pagination ));
      
      $this->tpl->content =  View::factory('admin/userlist', $data);


$this->template->main
я вот не пойму место маин нужно что написать контроллер который отвечает за исерлист.пхп? или сам юсерлист?

да и при таком коде сейчас выдает

ErrorException [ Notice ]: Undefined variable: pagination

APPPATH/classes/controller/admin/users.php [ 90 ]
85 }
86 }
87
88 $user = ORM::factory('user');
89
90 $data['pagination'] = $pagination; (показывает ошибка в этой строчке
91 $data['users'] = $user->getUserList($filter);
92 $data['notes'] = $user->getDistinctNotes();
93 $data['filter'] = $filter;
94
95 $count = ORM::factory('user')->count_all();

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 16:09 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Это
Код:
$this->template->main = View::factory('admin/userlist',
      array('users' => $users, 'pagination' => $pagination ));


вам вообще не нужно. У вас же темплейт по другому назвается. Я вам расписал для вашего темплейта. Пишем пагинатор в массив data, а потом передаем все в вид.

Цитата:
ErrorException [ Notice ]: Undefined variable: pagination
APPPATH/classes/controller/admin/users.php [ 90 ]


А вы что, стерли сверху код
Код:
// получаем общее количество пользователей
$count = ORM::factory('user')->count_all();

// передаем значение количества пользователей в модуль pagination и формируем ссылки
$pagination = Pagination::factory(array('total_items' => $count))->route_params(array('controller' => Request::current()->controller(), 'action' => Request::current()->action(),));

итд


Это все нужно. Кроме вывода в вид. Вывод в вид у вас свой.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 16:15 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
я просто комменты стер...

Код:
$data['pagination'] = $pagination;
      $data['users'] = $user->getUserList($filter);
      $data['notes'] = $user->getDistinctNotes();
      $data['filter'] = $filter;
      
      // получаем общее количество пользователей
      $count = ORM::factory('user')->count_all();

      // передаем значение количества пользователей в модуль pagination и формируем ссылки
      $pagination = Pagination::factory(array('total_items' => $count))->route_params
      (array('controller' => Request::current()->controller(), 'action' => Request::current()->action(),));

      //получаем пользователей с указанной позиции ($pagination->offset)
      //и указанное количество на страницу ($pagination->items_per_page)
      $users = ORM::factory('user')
      ->limit($pagination->items_per_page)
      ->offset($pagination->offset)
      ->find_all();
      
      $this->tpl->content =  View::factory('admin/userlist', $data);


у меня смотрите без той строчки что вы говорите убрать выдает

ErrorException [ Notice ]: Undefined variable: pagination
в этой строчке $data['pagination'] = $pagination;
не понимает, что то он_)))

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 16:29 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
ааа супер

вот так

Код:
      $data['users'] = $user->getUserList($filter);
      $data['notes'] = $user->getDistinctNotes();
      $data['filter'] = $filter;
      
      // получаем общее количество пользователей
      $count = ORM::factory('user')->count_all();

      // передаем значение количества пользователей в модуль pagination и формируем ссылки
      $pagination = Pagination::factory(array('total_items' => $count))->route_params
      (array('controller' => Request::current()->controller(), 'action' => Request::current()->action(),));

      //получаем пользователей с указанной позиции ($pagination->offset)
      //и указанное количество на страницу ($pagination->items_per_page)
      $users = ORM::factory('user')
      ->limit($pagination->items_per_page)
      ->offset($pagination->offset)
      ->find_all();
      
      $data['pagination'] = $pagination;
      
      $this->tpl->content =  View::factory('admin/userlist', $data);


работает, но не так как хочется вот посмотрите

http://thesupport.info/admin/users/list.html

1) страницы пишет, но когда листаю содержимое все тоже...
2) страницы выглядят так http://thesupport.info/admin/users/list.html?page=2

хотелось бы http://thesupport.info/admin/users/list/page2.html примерно так...

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 16:38 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
В конфиге пагинатора поменяйте
Код:
return array(
        // Application defaults
        'default' => array(
            'current_page'      => array('source' => 'route', 'key' => 'id'), // source: "query_string" or "route"
            'total_items'       => 0,
            'items_per_page'    => 10,
            'view'              => 'pagination/floating',
            'auto_hide'         => TRUE,
            'first_page_in_url' => FALSE,
        ),
);

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 16:44 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
классно вот что получилось

http://thesupport.info/admin/users/list/3.html

но все же материал не листается(((
в чем прична может быть?
просто на каждой странице все тоже самое

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 17:01 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Ну естественно. У вас же offset не меняется. offset - это как бы точка отсчета, начиная с которой выводить записи. Грубо говоря она равна номеру страницы умноженному на количество записей на странице. Оба параметра вам известны.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Pagination
СообщениеДобавлено: 02 май 2012, 17:18 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
так сейчас буду думать
я так понял вы за эту строчку
->offset($pagination->offset)
(если честно пока не вьехал что то крутится типо ->offset(limit*items_per_page)
кст ->limit($pagination->items_per_page)
//и указанное количество на страницу ($pagination->items_per_page)

а где надо указать этот лимит, что бы на страницу выдавалось ну скажем 15 пользователей
=========
мне б для пользователей сделать, а для материалов я сам по примеру сделаю)
мне легче делать когда уже есть что топодобное

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group