“Add to cart” no funciona en OpenCart…

Este un problema que veo bastante en el foro de OpenCart y parece un poco difícil de solucionar. Es un problema que tiene que ver mas con la configuración del servidor que con OpenCart en sí, pero con un par de ajustes debe de quedar funcionando sin problema.

Que pasa? Bajaste OpenCart, seguiste las instrucciones de instalación y cuando terminas todo, tu tienda en linea no funciona. Porque si alguien intenta añadir algo al carrito, el botón “add to cart” simplemente no funciona !!?? Simplemente, cuando instalaste OpenCart se creo un archivo llamado config.php, acá se declaran las constantes que tu tienda va a usar a la hora de acceder distintas carpetas o archivos en el servidor, y para tu servidor no es lo mismo: www.mitienda.com que tienda.com
Entonces, a lo mejor no te has dado cuenta pero tu instalación de OpenCart si esta funcionando, si intentas ir a www.tutienda.com y no funciona, entonces intenta ir a tienda.com y debe funcionar o viceversa, cierto?

En el directorio raiz donde instalaste OpenCart vas a encontrar un archivo llamado config.php, usualmente en las primeras 5 lineas esta determinando la configuración de los directorios, asi:

// HTTP
define(‘HTTP_SERVER’, ‘http://tutienda.com/’);
define(‘HTTP_IMAGE’, ‘http://tutienda.com/image/’);
define(‘HTTP_ADMIN’, ‘http://tutienda.com/admin/’);

Como pueden darse cuenta, esta configuración esta omitiendo la primera parte del URL: WWW. Entonces, si yo visito tu página y escribo: www.tutienda.com, lo más seguro es que  los botones y de pronto algunos otros scripts no funcionaran.

Como arreglar esto?
Lo primero seria añadir en este archivo WWW a cada una de las constantes, para que quede asi:

// HTTP
define(‘HTTP_SERVER’, ‘http://www.tutienda.com/’);
define(‘HTTP_IMAGE’, ‘http://www.tutienda.com/image/’);
define(‘HTTP_ADMIN’, ‘http://www.tutienda.com/admin/’);

Pero que pasa entonces si alguien visita mi sitio y solo escribe: tutienda.com ? No va a funcionar!
Por lo tanto tendremos que también hacer una modificación en el archivo .htaccess de tu servidor. Este archivo siempre esta en la raiz de tu carpeta de hosting (/public_html/.htaccess)
Vamos a añadir una instrucción que modificara dinamicamente la URL de acuerdo a la regla que en este caso sera: “si URL no tiene WWW, entonces añadir WWW” así que si yo intento acceder tu website y escribo tutienda.com, inmediatamente va a ser modificado a www.tutienda.com y tu sitio siempre funcionara correctamente. La siguiente instrucción la puedes añadir al final del archivo .htaccess:

Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^tutienda.com [NC] RewriteRule ^(.*)$ http://www.tutienda.com/$1 [R=301,L]

No olviden que deben de cambiar el URL por el nombre del dominio de ustedes.

<><><><><><><><>
He recibido emails de algunos visitantes de mi blog y dicen que el código aca posteado no les esta funcionando, la siguiente es una solución alternativa también editando el archivo .htaccess.

Si al editar el archivo .htaccess como he indicado arriba, y luego al intentar entrar a tu sitio te aparece el siguiente error:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

borra los cambios mencionados e intenta con el siguiente código, también en el archivo .htaccess.
RewriteCond %{HTTP_HOST} ^tutienda\.com
RewriteRule (.*) http://www.tutienda.com/$1 [R=301,L]
Recuerda de sustituir “tutienda” con el nombre de tu website.

Esto es todo, con estos dos cambios tu tienda debe de estar funcionando perfectamente de ahora en adelante.
Si tienen preguntas por favor no duden en escribirnos. Gracias.

3 thoughts on ““Add to cart” no funciona en OpenCart…

  1. Muchas gracias por este detalle! resolvió mi problema en cuestión de segundos….! parece increíble que “pequeñas” cosas como estas resuelvan grandes problemas…..me parecía ilógico que las cosas aveces funcionaran y aveces no…!

    ahora me doy cuenta por que! cuando funcionaban era por que había entrado CON WWW, y cuando no funcionaba, era por que había entrado sin http://WWW….!

    gracias por la ayuda!

    1. OpenCart es un carrito de compras, puedes aceptar pagos de PayPal sin necesidad de poner un boton de paypal, que exactamente deseas hacer?

Add Comment