Jump to content

[Solucionado] Añadir campos en el registro de usuario


Recommended Posts

Estoy trabajando en la versión 1.5.5.0

 

El template es default.

 

He estado leyendo del foro para poder hacerlo, al final creo que me he liado y no sólo no lo he conseguido, sino que he fastidiado la página.. he deshecho lo hecho y parece que la página de todos modos está rota.

 

Os cuento:

 

Mi pretensión es añadir un campo en el registro que sea obligatorio, un campo de texto.

 

Lo ideal sería que en este campo hubiera un desplegable con ciertos valores entre los que pudiera escoger, pero si no consigo esto último no me preocupa tanto.

 

Ahora bien, leí en un blog que podía añadir una “nueva sugerencia”, (http://victor-rodenas.com/2012/07/25/anadir-nuevas-sugerencias-al-formulario-de-registro-en-prestashop/), 

 

Seguí todas las instrucciones y al llegar al final y después de realizar la traducción, el nuevo campo no aparecía en el registro, ni durante el registro ni después en “mis direcciones”.

 

Así que supuse que el cambio estaba hecho pero yo no podía verlo..

 

.. Seguí leyendo en foros 

 


 

Por tanto, he ido a la pestaña de clientes--> establezca los campos obligatorios para esta sección y no he visto allí la nueva opción.

 

Entonces me dirijo a classes/address.php y pienso, “no pasa nada”, el campo que quiero no está aquí, pero lo introduzco yo “a pelo”, en una nueva línea y a ver qué pasa.

 

Pues resumiendo, después de esto la página no se carga, deshice los últimos cambios y aún así no se carga.

 

Como la página en este caso no puede ser cargada y debo reponerla, no creo que sea necesario daros una url donde no hay nada.

 

Sería ideal saber cómo hay que hacerlo y os agradecería vuestra ayuda. Ya sé que he sido muy bruta.

 

Ya sé que hay foros en los que se habla de ello, pero no me he aclarado en absoluto.

 

Gracias de antemano a todos.

 

  • Like 1
Link to comment
Share on other sites

Buenos dias gfidalgo si as roto la web, elimina todos los archivos que as modificado, bajate la carpeta de prestashop nueva http://www.prestashop.com/download/old/prestashop_1.5.5.0.zip 

y vuelve a subir los archivos nuevos por los que as eliminado, o simplemente sustitúyelos. Tambien puedes activar el reporte de errores y pegarnos aqui los errores que te salen, despues de activarlos.

http://victor-rodenas.com/2013/05/11/guia-habilitar-el-reporte-de-errores-en-prestashop-1-5-y-prestashop-1-4/

 

Saludos

 

 

 

Pegate Tambien el link de la web, que comprobemos...

Link to comment
Share on other sites

Es que el enlace que has dejado de añadir una nueva sugerencia, no tiene absolutamente nada que ver con añadir un nuevo campo en el formulario de registro.

 

Para añadir un nuevo campo en el formulario de registro en Prestashop 1.5, mira estos post: 

 

 

http://www.prestashop.com/forums/topic/242364-insercion-de-nuevo-campo-al-formulario-de-registro-y-guardado-en-la-bd/

 

http://mqueridiam.tbfnation.com/prestashop-anadir-un-campo-personalizado-en-el-formulario-de-registro-del-cliente/

 

http://www.prestashop.com/forums/topic/242449-nuevo-campo-en-la-administracion-de-clientes/

 

http://www.bitsandchips.it/forum/viewtopic.php?t=4884&p=48157

  • Like 1
Link to comment
Share on other sites

Siguiendo el manual que es el segundo link …
He modificado:

 

- themes/NOMBRE_DEL_TEMA/authentication.tpl
- “controllers/front/AuthController.php”
- “classes/Customer.php”
- Cambiado la traducción.
- “controllers/admin/AdminCustomersController.php”.
- He introducido un campo nuevo lamado referralcode en ps_customer de la BD con php-MyAdmin

 

… el campo sigue sin aparecer
 
¿Es posible que las frases no las haya puesto en la línea que toca en authentication.tpl?, ¿hay algún sitio específico para esto?
¿Es posible que le falte algo a este manual?
 
En “classes/Customer.php”
He escrito ...
 
 

/** @ var string Referralcode */
public $referralCode;

  
pero… ¿no debería escribir algo más por debajo de la línea 160?
 

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

Por fin, ya lo tengo...
 
Al final, la persistencia y cabezonería a veces tiene fruto.
 
Lo he sacado de búsquedas por los foros, de aquí y de allí, y remasterizando os cuento.
 
Por un lado se puede seguir la guía:
 
http://mqueridiam.tbfnation.com/prestashop-anadir-un-campo-personalizado-en-el-formulario-de-registro-del-cliente/
 
Pero aquí falta la mitad...
 
Lo que falta:
 
En classes/Customer.php faltaba algo..
 
Cerca de la línea 160, hay una sección que pone…
 

public static $definition = array(

 
Buscamos la línea

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

 
Justo antes de esta línea añadimos lo siguiente:

'referralcode' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),

En themes\default\identity.tpl,

Buscamos la línea {if $newsletter}
 
Y justo debajo añadimos: 

<p class="text">
<label for="referralcode">{l s='Referral code'}</label>
<input name="referralcode" type="text" class="text" id="referralcode" value="{$referralcode}"/>
</p>

En  controllers\front\IdentityController.php :
 
En el bloque "initContent" 
 
Buscamos la línea parent::initContent();
 
Y justo debajo añadimos..
 

$referralcode=$this->context->cookie->customer_referralcode; 

 Buscamos 

$this->setTemplate(_PS_THEME_DIR_.'identity.tpl');

 Y justo antes añadimos… 
 

$this->context->smarty->assign('referralcode', $referralcode);

En el bloque de  "postProcess" 

Buscamos la línea…

$this->customer->firstname = Tools::ucfirst(Tools::strtolower($this->customer->firstname));

Y justo debajo escribimos

$this->customer->firstname = Tools::ucfirst(Tools::strtolower($this->customer->firstname));

Buscamos

$this->context->cookie->customer_firstname = $this->customer->firstname;

 Y debajo ponemos:

$this->context->cookie->customer_referralcode = $this->customer->referralcode;

Y esto sí resulta porque lo he comprobado..

 

En caso de que no os salga es posible que a mí se me haya escapado algo, os dejo las páginas de referencia..

 

El hilo es el siguiente y hay que llegar hasta el final..

 

http://www.bitsandchips.it/forum/viewtopic.php?t=4884&p=48157

 

http://www.prestashop.com/forums/topic/166078-solved-how-can-i-add-custom-fields-to-new-user-registration/?do=findComment&comment=1235751

  • Like 1
Link to comment
Share on other sites

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