Empecemos por ir a: cart/application/controllers/, para modificar el controlador products.php; en el método constructor vamos a cargar las otras librerías que vamos a necesitar: pagination y cart junto con helper text; cabe recalcar que para paginar solo necesitamos la librería pagination, la libreria cart y helper text los vamos a necesitar para el Tema 4 donde vamos a implementar el carro de compras; también vamos a modificar el método index que es donde vamos a definir las preferencias de la paginación.
Modificamos los métodos constructor e index del controlador products.php
function __construct() {Ahora vamos a: cart/application/models/ abrimos el modelo products_model.php y modificamos el único método que hasta el momento tenemos.
parent::__Construct();
$this ->load->model('Products_Model');
$this->load->library(array('pagination', 'cart'));
$this->load->helper('text');
}
function index(){
$pagination = 3;
$config['base_url'] = base_url().'products/index';
$config['total_rows'] = $this->db->get('productos')->num_rows();
$config['per_page'] = $pagination;
$config['num_links'] = 20;
$config['next_link'] = 'Siguiente »';
$config['prev_link'] = '« Anterior';
$this->pagination->initialize($config);
$data['title'] = 'Computadores Portatiles';
$data['results'] = $this->Products_Model->get_products($pagination, $this->uri->segment(3));
$this->load->view('front/header',$data);
$this->load->view('front/content');
$this->load->view('front/footer');
}
Modificamos el método get_products
class Products_Model extends CI_Model {Finalmente vamos a cart/application/views/front/, abrimos content.php, para añadir los links de la paginación, los cuales colocamos debajo del foreach:
function get_products($pagination, $segment) {
$this->db->order_by('marca', 'asc');
$this->db->limit($pagination, $segment);
$query = $this->db->get('productos')->result();
return $query;
}
}
Enlaces de la paginación
<div id="pagination"><?=$this->pagination->create_links(); ?></div>Con esto ya debe paginar los resultados que se obtienen de la base de datos.
Descargar archivos del Tema 3
Aquí dejo otra paginación, la cual tiene el index.php en la url;
es decir no utiliza el .htaccess
Descargar ci_pagination sin .htaccess
ambién modificaremos el
super bueno tu guia, te agradesco, me ha servido mucho
ResponderBorrarpero sabes me da un error
Filename: C:\xampp\htdocs\cart\system\database\DB_driver.php
Line Number: 124
me puedes ayudar por favor
Este comentario ha sido eliminado por el autor.
BorrarUnable to connect to your database server using the provided settings.
BorrarFilename: C:\wamp\www\cart\system\database\DB_driver.php
Line Number: 124
lo probé otra vez en Windows y no hay ningún error, excepto si
los datos para conectar a la BD no corresponden aparece
el mensaje de arriba.
Parece ser lo mismo, algún dato en database.php no es correcto,
fijate en este archivo y asegurate que el servidor, el usuario,
la contraseña y la base de datos seleccionados sean correctos.
cart/application/config/database.php lineas 51-54
$db['default']['hostname'] = 'localhost'; // que esté bien esscrito
$db['default']['username'] = 'NUESTRO USUARIO'; // root u otro
$db['default']['password'] = 'NUESTRO PASSWORD'; // si tiene o vacio ''
$db['default']['database'] = 'cart'; // la base de datos
si no es eso supongo que es algún problema con el servidor, aunque
eso es poco factible....
espero que esto te de la solución...
Amigo que tal, aplicando al pie de la letra lo que hiciste de la paginación, estuvo bien.
ResponderBorrarPero a la hora de paginar no lo realiza, no consigue la url:
The requested URL /cart/products/index/3 was not found on this server.
Descargue los archivos tuyo y da el mismo error
Jonathan,
ResponderBorrarVerifique el .htaccess, y que la aplicación se llame cart, si no
funciona por favor vuelva a comentar
Olvide deircirle recuerde que el mod rewrite debe estar habilitado en el servidor.
Borrarsiga el primer post de la configuración de CI
http://elprogramadorjunior.blogspot.com/2013/07/instalacion-y-configuracion-de.html
Sandro,
ResponderBorrarEl .htaccess esta bien, el nombre de la aplicación está correcto, tengo habilitado el mod rewrite en el servidor, lo cual me ha servido en otra pagina perfectamente, pero en la paginación sigue sin conseguir la url.
La solución momentanea que he conseguido es agregandole a la url el index.php es decir en vez de /cart/products/index/3 le coloco /cart/index.php/products/index/3 y así me funciona perfecto
respecto de esa solución está bien justamente eso iva a decirle que hiciera. Por alguna razón en
ResponderBorraralgunos servidores da error al no especificarla en el controlador en el que se hace la paginación.
Sin embargo en este mismo post coloqué otro archivo para
descargar que se llama ci_pagination solo es descomprimirlo porque utiliza
la misma BD y no hay que cambiarle el nombre; ahí está sin .htaccess,
también ya modifiqué todos los archvios para descargar.
así que ya puede volver a probarlos.
Gracias por comentar
Perfecto, funcionan bien, gracias por la modificaciones.
ResponderBorrarSeguiré viendo tu tutorial que está bien explicado
Me alegra que haya funcionado...
Borrarme quedo joya te felicito!!
ResponderBorrarqué bueno! gracias por el comentario...
Borrar