Jump to content

Los clientes NO pueden añadir direcciones nuevas


ivars91

Recommended Posts

Prueba con el tema default para ver si es un problema de la plantilla que estás utilizando

 

 Hola Ventura, gracias por tu ayuda, he estado intentando cambiar a default (en la copia que tengo de la web en local) y me da mil problemas... Hay otra manera de comprobarlo que no sea cambiando la plantilla?

 

Gracias de nuevo

Link to comment
Share on other sites

Habria que ver que formato esta enviando para el zip code el formulario.

en teoria el controlador es el archivo ubicado controller/AddressController.php

 

alli debe estar algo asi:

 

!Validate::isPostCode($ACA-VARIABLE-ZIP-CODE))  $this->errors[] = Tools::displayError('ACA MENSAJE A MOSTRAR EN IDIOMAS')

 

O sea que la classe validate.php valida el parametro enviado con la funcion isPostCode

 

habria que ver que espera recibir y que se esta enviando, puede validar con otra funcion por ejemplo revisar que sea un string y limpiar caracteres esepeciales obivio con la classe Tools.php

 

saludos

Link to comment
Share on other sites

 Gracias por la ayuda Tamu,

 

 Creo que el problema no viene del Zip Code, porque en ese caso el mensaje de error sería "El código postal invalido". 

 El "Código invalido" viene de aquí creo:

 

// Check page token
if ($this->context->customer->isLogged() && !$this->isTokenValid())
$this->errors[] = Tools::displayError('Invalid token.');
 
 ¿Puede ser? Lo que no se muy bien este if que comprueba realmente...
 

Habria que ver que formato esta enviando para el zip code el formulario.

en teoria el controlador es el archivo ubicado controller/AddressController.php

 

alli debe estar algo asi:

 

!Validate::isPostCode($ACA-VARIABLE-ZIP-CODE))  $this->errors[] = Tools::displayError('ACA MENSAJE A MOSTRAR EN IDIOMAS')

 

O sea que la classe validate.php valida el parametro enviado con la funcion isPostCode

 

habria que ver que espera recibir y que se esta enviando, puede validar con otra funcion por ejemplo revisar que sea un string y limpiar caracteres esepeciales obivio con la classe Tools.php

 

saludos

Link to comment
Share on other sites

pues debera comprobar entonces que el token exista correctamente en el formulario html, ingrese a la pagina en cuestion y busque en el codigo fuente (clic boton derecho ver codigo fuente)  que se encuentre algo asi:

<input type="hidden" name="token" value="{$token}" />

o tal vez:

<input type="hidden" name="token" value="{$secure_token}" />

es un codigo se seguridad (que no garantiza nada pero esta) es una cadena generada con la funcion encriptado de prestashop puede encriptar el nombre de un modulo, pagina en la cual se esta o algun dato del cliente (no lo recuerdo).

 

pero en fin, en teoria deberia estar enviando al controlador de las adress un parametro encriptado, puede que sea la pagina.

 

si no esta, o sea si el campo del formulario esta vacio, hay algun problema en la classe o archivo que pasa el valor al tpl, ahora si esta el campo del forumulario y posee el valor, entonces se esta encriptando lo que no se espera, esto puede deberse a muchas circunstancias, incluso a que haya un espacio o algun salto...

 

en fin, si no da con el problema puede modificar este valor:

        // Check page token
        if ($this->context->customer->isLogged() && !$this->isTokenValid())
            $this->errors[] = Tools::displayError('Invalid token.');

cambie por:

        // Check page token
        if (!$this->context->customer->isLogged())
            $this->errors[] = Tools::displayError('Hey no estas logueado!!! que haces aca!!!.');

otra opcion que tal vez le resulte comentar el codigo con /**/ asi :

/* COMENTAR PARA :-) 

        // Check page token
        if ($this->context->customer->isLogged() && !$this->isTokenValid())
            $this->errors[] = Tools::displayError('Invalid token.');
*/

ahora no se va esperar un token, pero se varificara que el cliente este logueado para cambiar su direccion.

 

saludos

 

PD:  es recomendable usar el token y el tpl que genera el formulario lo encontrará en su theme si mal no recuerdo el archivo se llamaba adress.tpl  algo asi.

 

 

Edited by tamu secreto (see edit history)
Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...