champs personnalisés visible selon variantes options sélectionnés

  • Posts: 318
  • Thank you received: 1
6 years 1 month ago #289790

Bonjour,
J'ai une question en rapport avec les champs personnalisés / variantes / options /

J'ai une option dans mon produit qui se nomme : GRAVURE
Cette option gravure est avec des variantes : SANS GRAVURE / 10 LETTRES MAX + 5euros / 20 LETTRES MAX + 9euros /
Pour que les gens indiquent ce qu'il faut graver sur le produit j'ai donc créé un champ personnalisé / texte /
mais celui-ci n'est pas modulable en fonction du nombre de lettre que le client veut graver.
Je voudrai que lorsque le client prend la variante
SANS GRAVURE = pas de champs personnalisés TEXTE qui apparaissent
10 LETTRES MAX = mon champ personnalisé / GRAVURE 10 LETTRES / apparait seulement
20 LETTRES MAX = mon autre champ personnalisé / GRAVURE 20 LETTRES / apparait seulement

Par défaut l'option / GRAVURE / est /SANS GRAVURE / = aucun champ visible par défaut.

Cela est-il possible?

Merci pour votre aide

edit : désolé j'ai posté dans la mauvaise section


Agence web e-commerce spécialiste Hikashop
Last edit: 6 years 1 month ago by toffffe.

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

  • Posts: 81504
  • Thank you received: 13064
  • MODERATOR
6 years 1 month ago #289799

Bonjour,

Il n'y a pas d'option pour faire cela.
Il faudrait rajouter du code javascript custom dans la page produit pour gérer cela.
Sinon, faites différents produits, un pour chaque nombre de lettre et créez différent champs personnalisés, un pour chaque produit.

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

  • Posts: 6
  • Thank you received: 0
2 years 2 months ago #339003

Bonjour,

Étant dans le même cas actuellement que toffffe, avec des champs de texte sur lesquels j'aimerais pouvoir limiter le nombre de caractères selon des variantes. Je relance ce topic pour savoir si cela a été résolu ou si cela été envisagé pour de futures mises à jour.

Merci d'avance !

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

  • Posts: 81504
  • Thank you received: 13064
  • MODERATOR
2 years 2 months ago #339032

Bonjour,

Non. Les champs personnalisés ne peuvent pas être limités par variante.
Donc soit vous faites des produits différents, un champ pour chaque produit, soit il faut du code javascript custom.

Cela va être quelque chose du genre:

<script>
var input = document.getElementById('xxx');
if(input) {
input.addEventListener(
     'keydown',
     function(event) {
       var currentVariantId = document.querySelector('#hikashop_product_id_main input').value;
       if(event.target.value.length > yyy && currentVariantId == zzz) {
          event.target.value =  event.target.value.substr(0, yyy);
       }
       if(event.target.value.length > aaa && currentVariantId == bbb) {
          event.target.value =  event.target.value.substr(0, aaa);
       }
     }
  );
}
</script>
où xxx est l'id du champ input sur la page et yyy le nombre de caractères à accepter pour ce champ pour la variante avec l'id zzz, et aaa le nombre de caractères à accepter pour ce champ pour la variante avec l'id bbb.
Vous pouvez juste dupliquer le code
if(event.target.value.length > yyy && currentVariantId == zzz) {
          event.target.value =  event.target.value.substr(0, yyy);
       }
pour chaque champ et mettre tout le code dans product / show_block_custom_item via Display>Views.
Après il si vous avez beaucoup de variantes et produits à gérer avec ce code, cela deviendra très long et dur à gérer. Il faudra alors du code un peu plus complexe pour se baser sur l'id de la valeur sélectionnée dans une caractéristique au lieu de l'id de la variante sélectionnée.

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

Time to create page: 0.070 seconds
Powered by Kunena Forum