Jump to content

Rendre un champs obligatoire a l'inscription


Recommended Posts

Bonjour, 

Je souhaite rendre les champs Société (company) et Numéro d'identification Fiscale (siret) obligatoire lors de l'inscription sur mon site, avec le mode B2B activé. 

Dans le fichier : classes/Customer.php

J'ai modifié la ligne relative à la société 

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

En FO, lorsque je suis sur le formulaire d'inscription, j'ai toujours le label 'Optionnel' à coté du champs de la société. Lorsque je valide l'inscription sans renseigner ce champ, j'ai une internal error 500. Le mode debug me donne l'information qu'une exception est levée dans le fichier classes/ObjectModel.php (voir piece jointe) 

Questions : 

1. Comment rendre un champ obligatoire  dans le formulaire d'inscription ? 

2. Comment enlever le label 'Optionel' si le champs est obligatoire ? 

 

Toute aide est bienvenue

En vous remerciant

_______________

Version PS : 1.7.3.1

Thème actif : Organic

Capture d’écran 2018-05-15 à 12.05.15.png

Edited by Jean-Baptiste
wording (see edit history)

Share this post


Link to post
Share on other sites

Merci pour la réponse @doekia

De ce que je comprends, les champs requis pour les adresses ne concernent pas les champs pour la création du compte mais les champs une renseigner une adresse une fois le compte créé. L'unique possibilité pour définir un champs requis pour la création de compte est l'inscription a la newsletter (BO > Clients). La manipulation sur l'adresse n'a pas d'impact sur les champs du sign up :/

Share this post


Link to post
Share on other sites

2 hours ago, doekia said:

Tu as le même genre de réglages sur BO > Customer > champs requis pour la section

Tout à fait, mais la seule option disponible est l'inscription à newsletter. Est il possible d'ajouter les autres champs en requis ?

Share this post


Link to post
Share on other sites

  • 1 month later...
  • 6 months later...
  • 4 weeks later...
29 minutes ago, Barbarlas said:

Salut, je suis passé par un module finalement

Effectivement, j'étais entrain de regarder les modules, et j'en ai vu un assez complet qui permet de bien privatisé la boutique. Je vais pas me prendre la tête, je vais l'installer...

😁

Share this post


Link to post
Share on other sites

  • 11 months later...
On 1/29/2019 at 3:20 PM, magic_lilou said:

Effectivement, j'étais entrain de regarder les modules, et j'en ai vu un assez complet qui permet de bien privatisé la boutique. Je vais pas me prendre la tête, je vais l'installer...

😁

Bonjour. De quel module s'agit-il ? Je suis intéréssé

Share this post


Link to post
Share on other sites

  • 5 months later...
  • 1 year later...

Bonjour,

Je recherche aussi à rendre obligatoire la société et le Numéro d'identification fiscale lors de la création du compte sur Prestashop 1.7.4 sans passer par un module.

Si quelqu'un a une solution je suis preneur.

Share this post


Link to post
Share on other sites

6 minutes ago, GuillaumePro said:

Si quelqu'un a une solution je suis preneur.

Oui,  modification   template  et  PHP   backend.

Share this post


Link to post
Share on other sites

J'ai bien rajouté 'required' => true dans ce fichier mais il doit y avoir autre chose à modifier.

Les champs formulaires sont générés dynamiquement sans doute via form-fields.tpl

Share this post


Link to post
Share on other sites

1 minute ago, GuillaumePro said:

Les champs formulaires sont générés dynamiquement sans doute via form-fields.tpl

Oui, il faut   chercher...

Share this post


Link to post
Share on other sites

Bon, pour les prochains qui cherchent j'ai trouvé la modification à faire pour rendre obligatoire les champs société et siret.

Il faut rajouter ce qu'il y a en gras ci-dessous dans le fichier classes/Customer.php :

'company' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true),

'siret' => array('type' => self::TYPE_STRING, 'validate' => 'isSiret', 'required' => true),

 

Puis rajouter "->setRequired(true)" dans classes/Form/CustomerFormatter.php :

if (Configuration::get('PS_B2B_ENABLE')) {
            $format['company'] = (new FormField)
                ->setName('company')
                ->setType('text')
                ->setLabel($this->translator->trans(
                    'Company', [], 'Shop.Forms.Labels'
                ))
                ->setRequired(true)
                ;
            $format['siret'] = (new FormField)
                ->setName('siret')
                ->setType('text')
                ->setLabel($this->translator->trans(
                    // Please localize this string with the applicable registration number type in your country. For example : "SIRET" in France and "Código fiscal" in Spain.
                    'Identification number', [], 'Shop.Forms.Labels'
                ))
                ->setRequired(true)
                ;
        }

 

Voilà si ça peut aider

Share this post


Link to post
Share on other sites

  • 2 months later...

Bonjour a tous, je suis en cote d'ivoire et chez nous, nous n'avons pas la culture d'utiliser les boites postales................ je voudrais savoir comment est ce que je peux modifier, rendre optionnel ou supprimer cette rubrique

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More