Jump to content

(( Solucionado )) PShop 1.5 -(NIF-DNI) obligatorio


Recommended Posts

Buenas,

 

Cuando estoy rellenando los datos de un cliente en [ clientes / direcciones ], relleno todos los campos menos el del (NIF-DNI), ya que no siempre los tengo y tampoco es obligatorio, pero el propio PShop me lo exige como obligatorio viendo un mensaje como este.

 

¿Alguien puede echarme una mano por favor?

 

Muchas gracias a toos!

post-404212-0-14746200-1349176695_thumb.jpg

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

Buenas,

 

Cuando estoy rellenando los datos de un cliente en [ clientes / direcciones ], relleno todos los campos menos el del (NIF-DNI), ya que no siempre los tengo y tampoco es obligatorio, pero el propio PShop me lo exige como obligatorio viendo un mensaje como este.

 

¿Alguien puede echarme una mano por favor?

 

Muchas gracias a toos!

 

 

 

Si vas a la pestaña Localización -> Países del panel de administración de tu tienda, y editas el país puedes señalar:

 

¿Necesita el número de identificación fiscal?

 

Y puedes decir que "NO"

 

Si dices que no, no se vera el campo para introducir el DNI directamente.

 

Si en cambio quieres que aparezca, pero que sea opcional, a modo semi-chapuza, puedes editar el fichero:

 

/controllers/front/AuthController.php

 

Buscar esto:

 

if ($country->need_identification_number && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni'))))

 

Y dejarlo asi:

 

if ($country->need_identification_number && !Validate::isDniLite(Tools::getValue('dni')))

 

También edita el fichero:

/controllers/front/AddressController.php

 

 

Busca esto:

 

  if ($country->isNeedDni() && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni'))))

 

Y déjalo así:

 

 

if ($country->isNeedDni() && !Validate::isDniLite(Tools::getValue('dni')))

 

Añado, creo que si vas directamente a la pestaña Clientes -> Direcciones, y señalas:

 

Establezca los campos obligatorios para esta sección

 

y señalas "dni" automáticamente sera obligatorio.

  • Like 4
Link to comment
Share on other sites

Muy buenas Nadie,

 

He cambiado el código que e has dicho ya que la primera opción aun no la usaré, y nada... Me sigue saliendo el mismo error.

¿Qué puede ser?

 

Muchas gracias Nadie!

 

Verifica 100 por 100, que hayas realizado los cambios que te he comentado en los dos ficheros. (Uno es para el registro inicial, y otro para cuando añades o actualizas una dirección)

Link to comment
Share on other sites

Ostras pues, lo he mirado y no lo tengo ni instalado... jajajaj cada dia me gusta mas el mundo de la informática xDD

 

En realidad me refería que haber si lo tenias instalado y te estaba interfiriendo, no que lo instalaras. (Dejalo desinstalado tal como estaba)

 

Ya te digo que he probado la modificación que te he comentado en una tienda en modo pruebas y ha funcionado, asi que supongo que tiene que haber algo que este haciendo "conflicto",seria cuestión de mirarlo.

 

Si quieres me pasas los datos de acceso a tu tienda y la reviso, pero ya mañana )

 

Un Saludo,

Link to comment
Share on other sites

Bueno, he comprobado el código y no estaba correcto, luego me lo miré bien y puse el que tocaba donde tocaba, y tampoco, luego he dejado el código cambiado, es decir como tu me propusiste hacerlo en la segunda opción (a modo semi-chapuza) y le he sumado la primera opción, es decir, he efectuado la primera y la segunda, con esto me refiero a que si veo el campo para introducir el (DNI).

 

 

Si dices que no, no se vera el campo para introducir el DNI directamente.

 

Por lo de no ver el campo e introducir el (DNI) directamente, te refieres a que a la hora de ir a clientes/direcciones y añada uno nuevo, en teoría no vería el recuadro para insertar el (DNI) efectuando la primera solución que me has enseñado, ¿no?

Por que como he comentado antes, si que lo veo xD

 

En fin, supongo que no lo habré entendido bien.

 

Un placer como siempre, Nadie!

Link to comment
Share on other sites

Bueno, he comprobado el código y no estaba correcto, luego me lo miré bien y puse el que tocaba donde tocaba, y tampoco, luego he dejado el código cambiado, es decir como tu me propusiste hacerlo en la segunda opción (a modo semi-chapuza) y le he sumado la primera opción, es decir, he efectuado la primera y la segunda, con esto me refiero a que si veo el campo para introducir el (DNI).

 

 

 

 

Por lo de no ver el campo e introducir el (DNI) directamente, te refieres a que a la hora de ir a clientes/direcciones y añada uno nuevo, en teoría no vería el recuadro para insertar el (DNI) efectuando la primera solución que me has enseñado, ¿no?

Por que como he comentado antes, si que lo veo xD

 

En fin, supongo que no lo habré entendido bien.

 

Un placer como siempre, Nadie!

 

 

Te dije que tenias la opcion de ocultarlo o la opción de no hacerlo obligatorio y te di las dos opciones que te di arriba.

 

Logicamente si dices que no es necesario no se vera, entonces lo tienes que dejar diciendo que es necesario tal como esta y hacer las modificaciones que te indique yo arriba para que el usuario decida si introducir o no el dni. (que sea optativo)

Link to comment
Share on other sites

Uf... Me he perdido... m...

 

Te refieres a que no será visible para el cliente, pero para mi si que sera visible ¿no?

En el caso de que fuera como he entendido, la segunda opción la dejo como antes, ¿cierto?

 

Muchas gracias Nadie!

Link to comment
Share on other sites

Si quieres que no se pueda meter el "numero de identificación en un pais determinado" y por lo tanto que no se visualize el bloque del dni en ese pais, vas a la pestaña Localización -> Paises del panel de administración, editas el pais y señalas:

 

¿Necesita el número de identificación fiscal?

 

"NO"

 

Si es al contrario eliges que "SI", y si quieres que el "dni" sea optativo y se pueda introducir tienes que hacer esto:

 

 

 

Si en cambio quieres que aparezca, pero que sea opcional, a modo semi-chapuza, puedes editar el fichero:

 

/controllers/front/AuthController.php

 

Buscar esto:

 

if ($country->need_identification_number && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni'))))

 

Y dejarlo asi:

 

if ($country->need_identification_number && !Validate::isDniLite(Tools::getValue('dni')))

 

También edita el fichero:

/controllers/front/AddressController.php

 

 

Busca esto:

 

  if ($country->isNeedDni() && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni'))))

 

Y déjalo así:

 

 

if ($country->isNeedDni() && !Validate::isDniLite(Tools::getValue('dni')))

  • Like 1
Link to comment
Share on other sites

Eso ya lo entendí, yo hablo del BO, no de los clientes, los clientes no entran nada mas que el formulario básico, para el formulario de empresa soy yo, y es a mi a quien le sale el erro, pero ha dejado de salirme diciéndole que no a la casilla, pero aun y así sigo viendo el campo, por eso no lo entiendo xDDD ya que tu me dices que luego este campo no se verá, pero en el BO si lo veo

 

 

 

Por cierto, ahora que lo he desactivado, a la hora de hacer la factura, me saldrá el campo del DNI no? ya que en algunos clientes si que les pongo el NIF.

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

 

 

Por cierto, ahora que lo he desactivado, a la hora de hacer la factura, me saldrá el campo del DNI no? ya que en algunos clientes si que les pongo el NIF.

 

 

Si en el formato de la dirección al editar el pais, has establecido que se muestre en la dirección, se vera en la factura.

Link to comment
Share on other sites

Uf, no se es que ya como en el inicio del post empecé enseñándote una imagen del BO... lo siento, di por sentado que entendiste que hablaba del back. En fin no pasa nada, supongo que, a ver, son la 1:19 de la madrugada, veo que tus posteos suben como la espuma, será normal que puedas llegar a despistarte hombre, creo que aunque nos hablemos mediante datos informáticos, somos humanos...

Link to comment
Share on other sites

Uf, no se es que ya como en el inicio del post empecé enseñándote una imagen del BO... lo siento, di por sentado que entendiste que hablaba del back. En fin no pasa nada, supongo que, a ver, son la 1:19 de la madrugada, veo que tus posteos suben como la espuma, será normal que puedas llegar a despistarte hombre, creo que aunque nos hablemos mediante datos informáticos, somos humanos...

 

Pero una pregunta, independientemente del back-office, deseas que el cliente al registrarse inserte su dni o que tenga la opción o ¿no?

 

O simple vas a insertar los clientes desde el back-office como estas haciendo ahora (Pregunto)

Link to comment
Share on other sites

Pero una pregunta, independientemente del back-office, deseas que el cliente al registrarse inserte su dni o que tenga la opción o ¿no?

 

O simple vas a insertar los clientes desde el back-office como estas haciendo ahora (Pregunto)

 

Si, por supuesto, en un futuro, desearía que fuera obligatorio para ellos, pero no para mi, es decir, obligatorio en el FO pero no obligatorio en el BO, supongo que contesto tu duda, (creo)

Link to comment
Share on other sites

Si, por supuesto, en un futuro, desearía que fuera obligatorio para ellos, pero no para mi, es decir, obligatorio en el FO pero no obligatorio en el BO, supongo que contesto tu duda, (creo)

Pues entonces si quieres que sea obligatorio en el front-office y no opcional, deja lo que has modificado según mis indicaciones de forma original.

 

De todos modos, si tu "Desactivas la opción que te he comentado en el back-office, el problema es que los cliente no podran insertar su "DNI" en el Front-Office.

Link to comment
Share on other sites

De acuerdo, muchas gracias Nadie, cuando necesite que sea obligatorio para el front pero que sea opcional para el back, re-abriré el post.

 

Merci!

Un placer ayudarte y servirte!

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje del tema y añadiendo la palabra "Solucionado" al titulo, esto ayudara a mantener una mayor organización en el foro.

 

Por ultimo, recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso.

Link to comment
Share on other sites

  • 4 months later...

Tenía la misma duda, y no sé si abrir un post o comentar encima de este.

 

Yo hice los cambios y desde el FO va bien, es decir, si dejo en blanco el DNI me deja continuar, pero si hago una modificación del cliente desde el BO pues me exige poner el DNI, donde se cambio eso?

 

Ah, otra cosa, donde está el archivo tpl, que muestra muestra ese formulario (el de FO del registro y de la modificación de la dirección), es que me gustaría borrar el asterisco de obligatorio.

Link to comment
Share on other sites

  • 1 month later...

Hola mijayas, yo ese problema lo he solucionado con este cambio, comentando estas dos lineas de AdminAddressesController.php que esta en controllers/admin

 

buscas esto

 

if (Country::isNeedDniByCountryId(Tools::getValue('id_country')) && !Tools::getValue('dni'))

$this->errors[] = Tools::displayError('Identification number is incorrect or has already been used.');

 

y lo comentas con // antes de cada linea, así

 

// if (Country::isNeedDniByCountryId(Tools::getValue('id_country')) && !Tools::getValue('dni'))

// $this->errors[] = Tools::displayError('Identification number is incorrect or has already been used.');

Edited by moraira (see edit history)
  • Like 1
Link to comment
Share on other sites

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