Conditionnalité des champs custom 'order'

  • Posts: 27
  • Thank you received: 0
10 years 5 months ago #133307

Bonjour,

je suis quasiment au bout du développement de mon site avec Hikashop, il me reste un tout dernier problème à résoudre :

J'ai un seul produit sur mon site, qui se crée à partir d'un formulaire fait maison, avec pas mal de champs personnalisés de type 'item' et un calcul de tarif automatisé. Lorsque je l'ajoute au panier, j'ai également 2 champs custom, cette fois de type 'order', que le client doit remplir pour continuer dans le process de commande, ainsi que 2 champs d'upload de fichiers.

Voilà mon problème :

Je voudrais que mes 2 champs 'order' (qui correspondent à des précisions sur deux choix fait à la première étape par l'intermédiaire de deux champs 'item') ne s'affichent que dans le cas où ils sont utiles. Du coup j'ai retravaillé la variable $showfields dans la view com_hikashop/checkout/custom_fields, et en gros mes champs passent en style="display:none;"> lorsqu'ils sont inutiles. Au niveau de l'affichage, donc, tout va bien.

Or, ces deux champs doivent être obligatoires s'ils sont affichés, et évidemment ne pas l'être s'ils ne le sont pas, et je me retrouve coincé à ce niveau : soit j'active la position "requis" dans le menu des champs personnalisés d'hikashop, et ils deviennent obligatoires même s'ils ne sont pas affichés, ce qui rend la commande impossible, soit je la désactive et je perds le caractère obligatoire du champ.

Je ne suis pas suffisamment à l'aise avec les fonctions d'Hikashop pour voir précisément comment m'y prendre, est-ce que quelqu'un voit une solution simple à mon problème ?

Merci d'avance !

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

  • Posts: 81677
  • Thank you received: 13102
  • MODERATOR
10 years 5 months ago #133346

Bonjour,

Il faut en effet ne pas les rendre obligatoire dans HikaShop. ensuite, vous pouvez éditer com_hikashop/checkout/step et rajouter un peu de javascript dans le onsubmit du form pour vérifier que si ils sont affichés, il soient rempli et sinon vous annulez la soumission du form avec un return false; et vous faites un alert() pour dire à l'utilisateur qu'il n'a pas rempli le champs.

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

Time to create page: 0.053 seconds
Powered by Kunena Forum