skip to Main Content
Prestashop 1.7 – Ajouter Un Champ Au Formulaire D’inscription Client

Prestashop 1.7 – Ajouter un champ au formulaire d’inscription client

Ce tutoriel vous permet d’ajouter un ou plusieurs champs au formulaire d’inscription client de votre boutique en ligne. Ces étapes sont valables pour Prestashop en version 1.7 et supérieures.

Avant toute chose, nous vous conseillons de réaliser une sauvegarde complète de votre boutique : fichiers (FTP) et base de données. Si besoin, il existe des modules Prestashop permettant de le faire rapidement et sans connaissances particulières.

Modifications sur la partie vitrine

Exécutez la requête SQL suivante dans phpMyAdmin pour créer un nouveau champ dans la base de données. Nous appellerons ce champ « taille » qui nous permettra de demander la taille du client en centimètres :

ALTER TABLE ps_customer ADD COLUMN taille VARCHAR(250);

Ouvrez ensuite le fichier suivant :

classes/form/CustomerFormatter.php

Recherchez la portion de code suivante :

$format['email']

Et ajouter le code suivant juste avant :

$format['taille'] = (new FormField)
    ->setName('taille')
    ->setLabel(
        $this->translator->trans(
            'Votre taille', [], 'Shop.Forms.Labels'
        )
    )
;

Vous pouvez changer la position du champ dans le formulaire en positionnant le code ci-dessus plus en haut ou plus en bas dans le code.

Nous allons maintenant étendre le modèle de données des clients en y ajoutant une nouvelle colonne.

Ouvrez le fichier suivant :

classes/Customer.php

Recherchez le code suivant :

 public $groupBox;

Et ajoutez-y le code suivant juste après :

public $taille;

Recherchez le code suivant :

'table' => 'customer',
'primary' => 'id_customer',
'fields' => array(

Et ajoutez-y le code suivant juste après :

'taille' => array('type' => self::TYPE_STRING),

Attention : si vous souhaitez rendre votre champ obligatoire lors de l’inscription, voici le code correct :

'taille' => array('type' => self::TYPE_STRING, 'required' => true),

Sauvegardez votre fichier. Vous pourrez constater que le nouveau champ est maintenant bien présent dans le formulaire d’inscription client côté vitrine.

Pour information, vos clients pourront saisir ce champ à l’inscription, mais également en allant dans leur compte client, rubrique « Information » à tout moment, même après l’inscription.

Modifications dans le back-office

Quelques modifications sont nécessaires pour pouvoir consulter les informations saisies par vos clients dans votre back-office. Ouvrez le fichier suivant :

controllers/admin/AdminCustomersController.php

array(
    'type' => 'text',
    'prefix' => '<i class="icon-envelope-o"></i>',
    'label' => $this->trans('Email address', array(), 'Admin.Global'),
    'name' => 'email',
    'col' => '4',
    'required' => true,
    'autocomplete' => false
),

Ajoutez le code suivant juste après :

array(
    'type' => 'text',
    'label' => $this->trans('Taille', array(), 'Admin.Global'),
    'name' => 'taille',
    'col' => '4',
),

Ou le code suivant si votre champ est obligatoire :

array(
    'type' => 'text',
    'label' => $this->trans('Taille', array(), 'Admin.Global'),
    'name' => 'taille',
    'required' => true,
    'col' => '4',
),

A partir de maintenant, vous pourrez modifier la taille de vos clients dans votre back-office, en allant dans la rubrique clients, et en cliquant sur « Modifier » devant le client correspondant.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Back To Top