Jump to content

problème ajout d'un champ dans l'inscription (1.5)


Recommended Posts

Bonjour à tous,

 

J'ai finis après moult recherche a trouver un tuto expliquant comment ajouter un champs dans le formulaire d'inscription ajoutant une valeur à la table ps_customer.

 

Malheureusement comme souvent ça ne marche pas.

 

Je souhaite ajouter un code lié à l'utilisateur.

j'ai donc:

 

authentication.tpl

 

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

 

dans AuthController.php

 

$customer = new Customer();
[...]
 $codeCe = Tools::getValue('codece');

 

 

[...]
$this->context->cookie->id_customer = (int)$customer->id;
 $this->context->cookie->codece = $customer->codece;
 $this->context->cookie->customer_lastname = $customer->lastname;
[...]

 

ligne ~425 et ~525

 

$customer->birthday = (empty($_POST['years']) ? '' : (int)$_POST['years'].'-'.(int)$_POST['months'].'-'.(int)$_POST['days']);
   if (!Validate::isBirthDate($customer->birthday))
 $this->errors[] = Tools::displayError('Invalid date of birth.');

   $customer->codece = $codeCe;

 

Customer.php

 

/** @var string codece */
public $codece; 

 

Le formulaire est bon, la table ps_customer a l'air prête et l'affichage dans l'admin est ok.

Mais voila l'enregistrement dans la table ne se fait pas. Je n'arrive toujours pas a comprendre le cheminement de ma valeur 'codece' et où se font les enregistrement sql.

 

Un grand merci a ceux qui pourront m'aider à résoudre ce problème ou juste à comprendre le fonctionnement de prestashop.

 

ps: Le tuto est présent sur cet page : http://www.bitsandchips.it/forum/viewtopic.php?f=11&t=4884

Link to comment
Share on other sites

Voici le message qui m'a débloqué, pour ceux que ça intéresses. c'est la dernière réponse en page 2

 

http://www.prestashop.com/forums/topic/113300-tutorial-add-custom-field-to-customer-registration-how-you-found-us-store-in-db-display-result-in-admin/page__st__20

 

im currently adding new custom fields to users in prestashop 1.5.xx in the front view is easy....

 

only change the authentification.tpl in your theme folder and add this line:

 

<p class="text">

<label for="custom_1">{l s='custom_1'}</label>

<input type="text" class="text" name="custom_1" id="custom_1" value="" />

</p>

 

and next add this line in customer.php controller, in public static $definition = array( :

 

 

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

 

 

the last step is add custom_1 field in ps_customer table in MYSQL

 

 

the only task that need is show fields in administration.....

 

 

Bye

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...