Jump to content

rajouter le champs téléphone obligatoire lors de l'inscription


Recommended Posts

Bonjour, je voulais rajouter le champs numéro de téléphone lors de l'inscription du client, le rendre obligatoire, qu'il fasse 12 caractères, que l'on puisse le modifier dans la gestion de compte et enfin qu'on puisse le consulter dans le BO;

 

j'ai trouvé un super tuto sur ce forum : https://www.prestashop.com/forums/topic/57590-tutorial-devforever-ajouter-un-champ-obligatoire-au-formulaire-d%E2%80%99inscription/

 

Mais c'est la que les atheniens s'éteignirent. Je suis le tuto, blablabla je rajoute le champs, jusque la rien de bien compliquer jusqu’à ce que j'arrive à la partie custumer.php et la, aie. on me demande de rajouter des lignes de code a des endroits qui ne correspondent pas... 

 

Par exemple lorsque dans le tuto on demande simplement de rajouter une variable (ouai je sais le truc le plus simple au monde) bah je ne trouve juste pas d'endroit ou je pourrait la rajouter dans ce fichier, ou alors je suis vraiment aveugle. 

 

De plus le développeur qui a fait se tuto écrit "on le rend obligatoire"

protected     $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email', 'siret'); 

et on définit les paramètres de taille et de type :

protected     $fieldsSize = array('lastname' => 32, 'passwd' => 32, 'firstname' => 32, 'email' => 128, 'siret' => 128);protected     $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd',         'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool', 'siret' => 'isGenericName');

alors que moi j'ai ça (j'ai mis entre commentaire ce que j'ai rajouté)

public static $definition = array(
		'table' => 'customer',
		'primary' => 'id_customer',
		'fields' => array(
			'secure_key' => 				array('type' => self::TYPE_STRING, 'validate' => 'isMd5', 'copy_post' => false),
			'lastname' => 					array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
			'firstname' => 					array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
			'email' => 						array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'required' => true, 'size' => 128),
			'passwd' => 					array('type' => self::TYPE_STRING, 'validate' => 'isPasswd', 'required' => true, 'size' => 32),
			/*'phone' => 						array('type' => self::TYPE_STRING, 'validate' => 'isPhone', 'required' => true, 'size' => 10),*/
			'last_passwd_gen' =>			array('type' => self::TYPE_STRING, 'copy_post' => false),
			'id_gender' => 					array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
			'birthday' => 					array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate'),
			'newsletter' => 				array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
			'newsletter_date_add' =>		array('type' => self::TYPE_DATE,'copy_post' => false),
			'ip_registration_newsletter' =>	array('type' => self::TYPE_STRING, 'copy_post' => false),
			'optin' => 						array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
			'website' =>					array('type' => self::TYPE_STRING, 'validate' => 'isUrl'),
			'company' =>					array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
			'siret' =>						array('type' => self::TYPE_STRING, 'validate' => 'isSiret'),
			'ape' =>						array('type' => self::TYPE_STRING, 'validate' => 'isApe'),
			'outstanding_allow_amount' =>	array('type' => self::TYPE_INT, 'validate' => 'isFloat', 'copy_post' => false),
			'show_public_prices' =>			array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
			'id_risk' =>					array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
			'max_payment_days' =>			array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
			'active' => 					array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
			'deleted' => 					array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
			'note' => 						array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml', 'size' => 65000, 'copy_post' => false),
			'is_guest' =>					array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
			'id_shop' => 					array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
			'id_shop_group' => 				array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
			'id_default_group' => 			array('type' => self::TYPE_INT, 'copy_post' => false),
			'date_add' => 					array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
			'date_upd' => 					array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
		),
	);

dans mon code tout est fait d'un coup et il y a ce curieux "validate" qui appelle is**** (donc j'ai essayé de rentrer isPhone) mais lorsque j'enregistre ça me met une erreur ligne 939 de modelobjet.phpen gros il reconnais pas isPhone. Mais je ne sais absolument pas ou appeler isPhone.

 

Et cerise sur le gateau, il demande qu'on ajoute une ligne dans getfields() mais chez moi cette fonction n'existe juste pas en faite.

 

Je suis en 1.5.3.1 et je ne sais pas si ça change grand chose mais la vraiment cela doit faire 3h que je cherche et rien n'y fait.

 

Avez vous une idée? 

 

merci beaucoup.

Link to comment
Share on other sites

ok donc ça m'a un peu aidé. En effet jusqu'à lors j'essayais de mettre isPhone alors que c'etait isPhoneNumber. Mais du coup un autre probleme persiste, lorsque l'on essaye d'acceder aux informations personelles cela me dit que le champ telephone est vide puisque dans ma base de donnée j'ai mis not null. le truc c'est que je ne comprend pas comment récupérer le numéro et le pre-remplir dans les informations personnelles vu que je n'ai pas de fonction get_fields. ou plutôt elle n'y est pas dans custumer.php.

 

Quelqu'un a une idée?

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...