Jump to content

Quitar campos obligatorios registro


Recommended Posts

Hola, soy nuevo en este tema de prestashop a ver si me podeis echar una mano.

 

Estoy intentando quitar de mi tienda los campos obligatorios de Direccion. Solo dejar los campos de nombre y apellidos, mail y contraseña. Porque lo que vendo es solo en formato digital y envio por correo electronico y la verdad que no me importa nada la direccion del cliente. Leyendo e visto que hay que modificar el archivo authentication.tpl y el php. pero no consigo hacerlo porque me da error.

 

Tengo instalado la v.1.5.2.0 y el tema default.

 

Gracias de antemano.

Link to comment
Share on other sites

Hola, soy nuevo en este tema de prestashop a ver si me podeis echar una mano.

 

Estoy intentando quitar de mi tienda los campos obligatorios de Direccion. Solo dejar los campos de nombre y apellidos, mail y contraseña. Porque lo que vendo es solo en formato digital y envio por correo electronico y la verdad que no me importa nada la direccion del cliente. Leyendo e visto que hay que modificar el archivo authentication.tpl y el php. pero no consigo hacerlo porque me da error.

 

Tengo instalado la v.1.5.2.0 y el tema default.

 

Gracias de antemano.

Yo tengo el mismo problema y no consigo solucionarlo

Link to comment
Share on other sites

  • 2 weeks later...

Bueno pues me adentrado en el mundo del PHP y me lo e echo yo... Pues es el archivo authentication.tpl que se encuentra dentro del tema instalado en nuestra tienda.. Por ejem en la mia iva theme/default...

 

Pues bien para cambiar las opciones de registro hay que ir a buscar las lineas que ponen "account_creation" y modificar los campos o borrarlo directamente... pongo ejemplos...

 

Asi viene de el archivo authentication.tpl con instalación limpia de prestashop.

 

 

{elseif $field_name eq "firstname"}

<p class="required text">

<label for="firstname">{l s='First name'} <sup>*</sup></label>

<input type="text" class="text" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" />

</p>

{elseif $field_name eq "lastname"}

<p class="required text">

<label for="lastname">{l s='Last name'} <sup>*</sup></label>

<input type="text" class="text" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" />

</p>

{elseif $field_name eq "address1"}

<p class="required text">

<label for="address1">{l s='Address'} <sup>*</sup></label>

<input type="text" class="text" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{/if}" />

<span class="inline-infos">{l s='Street address, P.O. box, company name, c/o'}</span>

</p>

{elseif $field_name eq "address2"}

<p class="text">

<label for="address2">{l s='Address (Line 2)'}</label>

<input type="text" class="text" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{/if}" />

<span class="inline-infos">{l s='Apartment, suite, unit, building, floor, etc.'}</span>

</p>

{elseif $field_name eq "postcode"}

<p class="required postcode text">

<label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label>

<input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />

</p>

{elseif $field_name eq "city"}

<p class="required text">

<label for="city">{l s='City'} <sup>*</sup></label>

<input type="text" class="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}" />

</p>

 

Pues si borramos todas estas lineas borramos, Nombre, apellidos, direccion 1, direccion 2, codigo postal y ciudad.

 

Guardamos y sobreescribimos y cuando vayan a registrarse no le pedira estos campos.

 

espero que sea de ayuda. un saludo. Solucionado por mi parte ya podeis cerrar el post

  • Like 1
Link to comment
Share on other sites

Bueno pues me adentrado en el mundo del PHP y me lo e echo yo... Pues es el archivo authentication.tpl que se encuentra dentro del tema instalado en nuestra tienda.. Por ejem en la mia iva theme/default...

 

Pues bien para cambiar las opciones de registro hay que ir a buscar las lineas que ponen "account_creation" y modificar los campos o borrarlo directamente... pongo ejemplos...

 

Asi viene de el archivo authentication.tpl con instalación limpia de prestashop.

 

 

 

Pues si borramos todas estas lineas borramos, Nombre, apellidos, direccion 1, direccion 2, codigo postal y ciudad.

 

Guardamos y sobreescribimos y cuando vayan a registrarse no le pedira estos campos.

 

 

El problema es que aunque los campos desaparecen, te da error al intentar regristrase. Pruebalo y comentame.

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...
  • 2 weeks later...

la solución que se plantea de eliminar los campos en el archivo .tpl no es del todo correcta, pues como alguien menciona arriba, el hecho de que no aparezcan no quiere decir que prestashop no los entienda como requeridos.

 

Si se quiere eliminar la etiqueta de requerido para el sistema, deben editarse las clases directamente; esto es por ejemplo el fichero address.php que está en la carpeta classes

 

ejemplo:

 

'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),

 

si quitamos 'required' => true

 

el campo nombre en el formulario Presta no lo entenderá como requerido.

 

PD. No olviden que si se modifican las classes es mejor usar la carpeta override para no corromper el código.

  • Like 3
Link to comment
Share on other sites

  • 4 weeks later...

Y cómo se hace para usar la carpeta override? Ha mi me ha pasado justamente eso, he corrompido el código... :(

Puedes explicarme como puedo descorromperlo y cómo usar la carpeta override?

 

Muchas gracias!

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

la solución que se plantea de eliminar los campos en el archivo .tpl no es del todo correcta, pues como alguien menciona arriba, el hecho de que no aparezcan no quiere decir que prestashop no los entienda como requeridos.

 

Si se quiere eliminar la etiqueta de requerido para el sistema, deben editarse las clases directamente; esto es por ejemplo el fichero address.php que está en la carpeta classes

 

ejemplo:

 

'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),

 

si quitamos 'required' => true

 

el campo nombre en el formulario Presta no lo entenderá como requerido.

 

PD. No olviden que si se modifican las classes es mejor usar la carpeta override para no corromper el código.

 

 

Hola namecol,

 

Hice esto que sugieres pero aún me da el error. Alguien tiene idea como solucionarlo?

 

gracias

Link to comment
Share on other sites

Hola namecol,

 

Hice esto que sugieres pero aún me da el error. Alguien tiene idea como solucionarlo?

 

gracias

 

 

YMOON,

 

Cual es exactamente el campo que quieres quitar como requerido?

 

Lo que puse es solo un ejemplo, dependiendo del campo puede ser necesario editar más de una clase.

 

PD: Asumo que estamos hablando de la versión 1.5.x

Link to comment
Share on other sites

YMOON,

 

Cual es exactamente el campo que quieres quitar como requerido?

 

Lo que puse es solo un ejemplo, dependiendo del campo puede ser necesario editar más de una clase.

 

PD: Asumo que estamos hablando de la versión 1.5.x

 

Hola,

 

Me llamo Raul Martinez,

 

¿Puedes hacer un ejemplo completo, dejando solo los siguientes campos en el formulario de dirección:

 

Ciudad, Codigo Postal, Pais, Provincia, Dirección y telefono movil.

 

quitando el nombre y apellidos de la dirección, y que no de error al pagar con paypal.

 

?

 

Gracias !

Link to comment
Share on other sites

YMOON,

 

Cual es exactamente el campo que quieres quitar como requerido?

 

Lo que puse es solo un ejemplo, dependiendo del campo puede ser necesario editar más de una clase.

 

PD: Asumo que estamos hablando de la versión 1.5.x

 

 

Hola, gracias por tu rápida respuesta.

 

Quiero quitar el apellido.

Ya quite inclusive el campo en la BD.

 

Modifique los archivos en Classes/ address.php y customer.php

 

Pero aún me sigue saliendo el error "apellido requerido".

 

Elimine el caché tanto en el servidor como en mi navegador. 

 

No se que más hacer!

 

Si se te ocurre algo te agradezco.

 

slds

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

Hola, gracias por tu rápida respuesta.

 

Quiero quitar el apellido.

Ya quite inclusive el campo en la BD.

 

Modifique los archivos en Classes/ address.php y customer.php

 

Pero aún me sigue saliendo el error "apellido requerido".

 

Elimine el caché tanto en el servidor como en mi navegador. 

 

No se que más hacer!

 

Si se te ocurre algo te agradezco.

 

slds

 

OK,

 

1. No te recomiendo nada que elimines este tipo de campos de la BBDD. Es preferible no usarlos, pero no toques la BBDD.

 

2. La complejidad de este tema radica precisamente en lo que comentas ya que a la hora de ejecutar este desarrollo debes estar muy concentrada, pues el campo apellido aparece en 3 partes del proceso de registro (al crear el usuario, en la direccion de entrega y en la dirección de facturación) puede ser que hayas eliminado el "requerido" solo para una de las partes más no para las otras 2.

 

La verdad es que no recuerdo exactamente cuales son los archivos que hay que tocar; solo puedo recomendarte mucha paciencia, pues a mi me tomó unos cuantos días de muchas pruebas y frustraciones hasta que lo conseguí.

 

PD: Raúl, me encantaría poner un ejemplo completo, pero lamentablemente no tengo el tiempo suficiente para hacerlo; sobretodo porque los campos que tú y YMOON quieren tocar son muy importantes para Prestashop y por lo tanto se requiere mucho tiempo para testear.

  • Like 1
Link to comment
Share on other sites

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