Estoy realmente perdido en cómo funciona la paginación en kohana 3. ¿Hay algún buen ejemplo de paginación en Kohana 3 en cualquier lugar?Kohana 3 pagination
Respuesta
// Get the total count of articles
$count = $this
->_profil
->articles
->count_all();
// Create the pagination object
$pagi = Pagination::factory(array(
'items_per_page' => 4,
'total_items' => $count,
));
// Find actual articles
$articles = $this->_profil
->articles
->join_categories()
->order_by('id','DESC')
->limit($pagi->items_per_page)
->offset($pagi->offset)
->find_all();
y luego en la vista, que acaba de hacer
echo $pagi; // ofc, after passing the Pagination object to view
Lo que sucede aquí es la clase de paginación utilizando su método mágico de __toString Ver() para representar HTML necesario para mostrar la paginación. Todos los parámetros de paginación se pueden modificar al crear el objeto (pasando las teclas apropiadas a la matriz pasada al método factory() en nuestro caso).
La clave predeterminada para la paginación es "página" (cadena de consulta), mientras que usted puede modificar eso también. Pagination también tiene una configuración predeterminada, que puede anular copiándola en la carpeta application/config.
disfrutar de su uso :)
Puede encontrar algunos documentos decentes en el unofficial Kohana wiki.
En Kohana 3.1 de paginación no está incluido. Descargue el módulo y colóquelo en la carpeta modules. Habilite el módulo en su aplicación /bootstrap.php. Esta es mi página de controlador. Por otra configuración copiar el archivo de configuración proporcionada por módulos/paginación/config/pagination.php a application/config/pagination.php
$per_page =2;
$page_num = $this->request->param('page', 1);
$offset = ($page_num - 1) * $per_page;
$view =View::factory('image/imagelist')->bind('page_links',$page_links)->bind('results', $results)->bind('pagination', $pagination);
// Get the total count of records in the database
$userid = Auth::instance()->get_user()->pk();
$count=ORM::factory('user_image')->where('app_userid','=',$userid)->count_all();
// Create an instance of Pagination class and set values
$pagination = Pagination::factory(array(
'total_items' => $count,
'current_page' => array('source' => 'image/imagelist', 'key' => 'page'),
'items_per_page' => $per_page,
'offset' => $offset,
'view' => 'pagination/basic'
));
// Load specific results for current page
$results = DB::select()->from('user_images')
->where('app_userid','=',$userid)
->order_by('image_id','ASC')
->limit($pagination->items_per_page)
->offset($pagination->offset)->execute();
$page_links = $pagination;
$this->template->content=$view->render();
Usted puede obtener el error ErrorException [Aviso]: Undefined property: Request::$uri
. en la clase de paginación (módulo). Para fijar fijarlo
Uso Request::current()->uri()
en lugar de Request::current()->uri
- 1. Kohana 3: Ejemplo de modelo con validación
- 2. Zend Framework con Kohana PHP 3
- 3. CodeIgniter Pagination Problema
- 4. Zend_Form & Pagination
- 5. Django Pagination
- 6. jquery pagination
- 7. C#: Pagination, Math.Ceiling
- 8. Kohana 3 Buffer de salida de línea de comando?
- 9. Kohana 3 ORM compara 2 columnas en la cláusula WHERE
- 10. ¿Alguien puede explicar el sistema de enrutamiento de Kohana 3?
- 11. Kohana 3 obtener controlador de corriente/Acción/argumentos
- 12. Obtener la URL principal del sitio completo en Kohana 3
- 13. Kohana 3 ORM - agrupación donde las condiciones con paréntesis
- 14. SOA/Web Service Pagination
- 15. Smarty y Kohana
- 16. C# Entity Framework Pagination
- 17. Android Scroll Pagination
- 18. jQuery DataTables Pagination Size
- 19. JSF, RichFaces, pagination
- 20. ResultSet para Pagination
- 21. Backbone JS Pagination
- 22. Kohana aplicación de muestra ABM
- 23. Kohana, .htaccess y $ _GET
- 24. kohana transacción con orm
- 25. Primefaces DataTable + JPA/Hibernate Pagination
- 26. PHP Dynamic Pagination Sin SQL
- 27. cakephp pagination tipo descendente primero
- 28. Crear ayuda en Kohana 3.1
- 29. url :: redirigir en kohana 3.1
- 30. Kohana acceso a IP del cliente
también ORM tiene 'método para contar filas de resultado útil' count_last_query(). – biakaveron
aunque no confiaría demasiado en ese método cuando tengo una consulta complicada :) De esta manera podemos reutilizar la consulta de recuento también, agregando reinicio (FALSO) antes de que se realice el recuento. – Kemo
genial! eso fue útil, ¡gracias! – dana