Champ supplémentaire inscription

  • Posts: 79
  • Thank you received: 3
  • Hikamarket Multivendor Hikashop Business
3 years 3 months ago #328192

-- HikaShop version -- : 4.4.0

Bonjour,

j'ai besoin de demander une information supplémentaire aux utilisateurs lorsqu'ils créent un compte sur ma boutique. Cette info doit être stockée dans une table spécifique de la base de données.

Lorsque l'utilisateur créé son compte avant le passage en caisse je sais gérer et cela fonctionne bien.

Par contre lorsqu'ils remplissent leur panier sans être connecté et qu'il leur est demandé de créer un compte lors du passage en caisse, je ne sais pas comment faire.
J'ai créé un SELECT sur la vue sub_block_login_registration.php :



Mais il faut que lors de la validation le choix fait dans la zone de liste soit enregistré en BDD, et là j'ai essayé de voir si sur la vue suivante je récupérais un $_POST mais ce n'est pas le cas.

Pouvez-vous me donner une piste pour faire cette opération : prendre en compte la valeur saisie dans ce champ et l'enregistrer ?

En vous remerciant pour votre aide,
Cordialement

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 81504
  • Thank you received: 13064
  • MODERATOR
3 years 3 months ago #328195

Bonjour,

Je pense que le plus simple, c'est :
De créer un champs personnalisé de la table "utilisateur" via le menu Affichage>Champs personnalisés. Ainsi, vous pouvez avoir votre select sans override de vue.
L'information sera stockée automatiquement pour vous dans la table #__hikashop_user.
Ensuite, vous pouvez créer un action de masse utilisateur via le menu Système>Actions de masse. Vous pouvez utiliser un trigger "après la création d'un utilisateur", et une action "Exécuter une requête MySQL".
Et pour la requête MySQL vous pouvez farie quelque chose de ce genre:
INSERT INTO #__xxx (`yyy`, `zzz`) VALUES ('{user_cms_id}','{aaa}');
où xxx est le nom de votre table MySQL, yyy le nom de colonne où vous stockez l'id du compte utilisateur Joomla dans votre table, zzz le nom de colonne où vous stockez la valeur sélectionnée dans le select, et aaa le nom de colonne de votre champs personnalisé utilisateur.

En faisant ainsi, vous avez 0 code PHP à écrire, et donc pas de soucis pour les mises à jour dans le futur.

Une alternative est de développer un plugin du groupe "hikashop" implémentant onAfterUserCreate ( www.hikashop.com/support/documentation/6...ml#onAfterUserCreate ) et ainsi vous pouvez faire des opérations plus complexes avec du processing , plusieurs requêtes MySQL, etc.
Dans onAfterUserCreate vous aurez aussi accès au $_POST du formulaire d'enregistrement. donc cela peut être utile si vous ne voulez/pouvez pas passer par un champs personnalisé utilisateur pour l'affichage du select.

Please Log in or Create an account to join the conversation.

  • Posts: 79
  • Thank you received: 3
  • Hikamarket Multivendor Hikashop Business
3 years 3 months ago #328248

Merci pour votre réponse. Je vais utiliser cette méthode, en créant un champ personnalisé. Je n'aurai même pas besoin de stocker la valeur dans une autre table que hikashop_users.

Encore merci,
Cordialement

The following user(s) said Thank You: Philip

Please Log in or Create an account to join the conversation.

Time to create page: 0.069 seconds
Powered by Kunena Forum