Cómo solucionarlo: Codeigniter no agrega productos al carrito

Codeigniter es un gran marco de php, y el elegido en Papertank. Como con cualquiermarco de referencia código, sin embargo, a veces las cosas simplemente no funcionan como quieres que ...

Esperemos que esta publicación ayude a cualquier otro programador que se encuentre con el mismo problema: Codeigniter no agrega productos particulares al carrito de compras. En mi experiencia, esto es causado por una de dos razones:

Problema A
La biblioteca Codeigniter Shopping Cart utiliza sesiones para guardar su cesta, y al agregar muchos productos o productos con varias opciones, esta sesión puede agotarse con bastante rapidez.

Solución
Lo primero que debe intentar, si aún no lo ha hecho, es intentar cambiar el uso de la base de datos de su aplicación web para el almacenamiento de la sesión. Además de permitir más información por sesión, esto puede aumentar la seguridad.

Antes de cambiar el archivo config.php, querrá configurar la tabla correcta en su base de datos de la siguiente manera:

CREATE TABLE IF NOT EXISTS `ci_sessions` ( session_id varchar(40) DEFAULT '0' NOT NULL, ip_address varchar(45) DEFAULT '0' NOT NULL, user_agent varchar(120) DEFAULT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text DEFAULT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`) );

Ahora, querrá actualizar el archivo config.php, que generalmente se encuentra en  application / config / config.php para que la biblioteca de sesión use la opción de base de datos. Además, en caso de que haya decidido usar un nombre diferente para la tabla de la base de datos, también puede arriesgarse aquí.

$config['sess_use_database'] = TRUE;

Problema b
Si eso no solucionó su problema, consulte su registro de errores para obtener más información. Para mí, había un problema con los nombres de productos que tenían caracteres no válidos, en mi caso, un '.'

Solución
Para solucionar este problema, deberá sobrescribir la clase predeterminada del carrito de compras, CI_Cart , para que ya no rechace nombres particulares. En su carpeta de aplicaciones / bibliotecas , agregue un archivo llamado MY_Cart.php con el siguiente código, o descárguelo de https://gist.github.com/16f99e4a38386fac461e  o modifique el código de la propia clase CI_Cart :


Si observa detenidamente, notará que lo que hemos hecho aquí es comentar la sección específica que valida el nombre del producto. Tenga cuidado con esto, por supuesto, pero cuando vuelva a intentar agregar su producto, es de esperar que su problema se resuelva.
Cómo solucionarlo: Codeigniter no agrega productos al carrito Cómo solucionarlo: Codeigniter no agrega productos al carrito Reviewed by codeAb on 21:07 Rating: 5

No hay comentarios:

Con la tecnología de Blogger.