Prestashop – problema con el registro de usuarios

Hola, hago este post para ayudar a toda esa gente que usa el software prestashop en sus webs para crear tiendas virtuales. La cuestion es la siguiente, el soft es buenisimo pero al parecer cuando esta hospedado en servidores windows, nos genera un error con el registro de ususarios. Mas precisamente en el campo “Ciudad”  El error es el siguiente:

ejemplo-del-error

La opcion que vi por ahi fue cambiar de host, lo que implica hacer backup de toda la web y de la base de datos. Muy molesto para mi.

Despues de tanto romperme la cabeza decidi probar una solucion, y funciono!

Lo que primero que hacemos es abrir el archivo classes/Address.php

Ahi buscamos la siguiente linea:

protected $fieldsRequired = array(‘id_country’, ‘alias’, ‘lastname’, ‘firstname’, ‘address1’, ‘postcode’, ‘city’)

Lo que esta en negrita es lo que debemos borrar, o sea en esta linea estan los campos que son obligatorios y al borrar city hacemos que ese campo no sea obligatorio por lo tanto no nos pedira que lo rellenemos.

Lo que debemos hacer ahora es evitar que el usuario lo vea y lo complete, si lo completa nos dara el error, si no, se podra registrar como si nada. Para eso editamos el siguiente archivo: authentication.tpl y esto es lo que debemos eliminar:

<p class=”required text”>
<label for=”city”>{l s=’City’}</label>
<input type=”text” class=”text” name=”city” id=”city” value=”{if isset($smarty.post.city)}{$smarty.post.city}{/if}” />
<sup>*</sup>
</p>

Con eso ya eliminamos el campo Ciudad y no nos dara el maldito error. Finalmente y para lograr que los usuarios nos den su lugar de procedencia, modificamos en el mismo archivo: authentication.tpl el campo adress2, como no es obligatorio el cliente podra ingresar su ciudad ahi, y nosotros podremos enviarle su pedido sin ningun problema. La modificacion es la siguiente:

<p class=”text”>
<label for=”address2″>{l s=’Ciudad’}</label>
<input type=”text” class=”text” name=”address2″ id=”address2″ value=”{if isset($smarty.post.address2)}{$smarty.post.address2}{/if}” />
<sup>*</sup>
</p>

Como veran el cliente vera en el formulario el campo Ciudad pero en realidad es la variable address2 y para asegurarnos que lo rellenen aunque no sea obligatorio va el <sup>*</sup> Como ya sabemos los campos con el * son obligatorios… aunque en realidad no xD

Espero que les sirva esta solucion, yo la implemente en un sitio y me anda de maravillas. Dejen sus buenas y sus malas.

5 comments on “Prestashop – problema con el registro de usuarios

  1. gracias amigo.. ya probare de hacerlo.. pero dicen q en la version 1.2 esta solucionado.. si no, voy a tener q hacer lo que tu dice aqui.. no es mala la idea… pero tampoco es la mejor solucion.. nuevamente gracias y suerte!

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s