Produit: personnalisation du formulaire (Form customization)

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 6 months ago #351511

-- HikaShop version -- : 4.7.2
-- Joomla version -- : 4.3.1
-- PHP version -- : 8.1.16

Bonjour,
j’ai du mal à comprendre comment alimenter les nouveaux blocs (Form Customization) crées dans la fiche d’un produit, je tourne en rond depuis des heures….
Déjà je ne comprends pas pourquoi après l’enregistrement de la fiche du produit le nouveau bloc disparaît, j’en ai créé un à tout hasard et par chance celui-ci est resté affiiché, je l'ai effacé et depuis plus possible d'en créer un nouveau. Pourquoi ce comportement? ...mais surtout comment alimenter le nouveau bloc avec mes options et mes champs? ça se passe où? j’ai regardé dans la section “Vues” mais difficile de m’y retrouver… dans la doc je ne trouve non plus rien…



Hors sujet: à quoi correspond “AFTER PRODUCT NAME AREA” dans la fiche produit?


Merci,
Lorenzo

Last edit: 1 year 6 months ago by kilou.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 6 months ago #351514

Bonjour,

Vous pouvez drag & drop les labels des options directement sur la page d'édition des produits:
www.hikashop.com/home/blog/481-hikashop-4-5-1.html#prod
Un bloc que vous ajoutez et qui reste vide sera supprimé automatiquement à la sauvegarde.

Les "after / before" sont des zones que les plugins qui s'intègrent à HikaShop peuvent remplir.
Par exemple, si un plugin a besoin de rajouter du texte juste après le nom du produit, dans les listings, il peut le faire ainsi.
Comme cela, les plugins n'ont pas besoin de créer des overrides de vues pour rajouter des choses sur les vues. Cela permet d'éviter des conflits potentiels entres plugins, ou entre ce que vous personnalisez et les plugins.
Par exemple, le plugin ReCaptcha a une option pour choisir le placement du Captcha sur le formulaire d'enregistrement. En fonction de ce qui est choisi dans cette option, le plugin va rajouter son HTML dans la zone after/before correspondante du formulaire d'enregistrement.

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

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 6 months ago #351522

Bonjour,

Par exemple, si un plugin a besoin de rajouter du texte juste après le nom du produit, dans les listings, il peut le faire ainsi.


... vous avez exactement mis le doigt dessus, je voudrais ajouter du texte (un sous-titre) juste après le nom du produit dans les listings, je pensais le faire via un champ personnalisé, il y aurait donc peut-être un plugin qui me permettrait de le faire?

Concernant le drag & drop des labels des options c'est juste fantastique :)

Merci.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 6 months ago #351532

Bonjour,

Vous pouvez le faire avec un champ personnalisé de la table "produit". La zone "custom product fields" de votre capture d'écran fera l'affichage du champ une fois renseigné dans le produit, si l'option d'affichage dans les listings du frontend est activée dans les options du champ.

The following user(s) said Thank You: kilou

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

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 6 months ago #351535

Bonjour,

Finalement j’ai décidé d’insérer le sous-titre directement dans le champs “Titre” du produit, étant donné que j’ai eu la belle surprise qu’il est possible d’y insérer du code HTML cela m’arrange, ainsi le sous-titre est aussi englobé dans le lien vers la page de détail du produit.
Est-ce que cela pose problème pour la suite? (par ex: affichage dans un email ou dans la facture du produit)



Je me permet de faire une petite réflexion par rapport aux champs personnalisés.
Il serait bien d’avoir le choix de pouvoir afficher ou non le label d’un champ personnalisé, cela éviterai de devoir jongler avec des règles CSS. Il arrive parfois de vouloir afficher le label pour certains produits et par pour d’autres… c’est juste un point de vue. Le composant Easy Layouts de Geraint permet de le faire et je dois dire qu’il m’a rendu service plusieurs fois.

Autre chose, j’ai remarqué que les champs personnalisé sont englobés dans des div dans la liste des produits en front-end et sont par contre dans des tableaux dans le détail du produit. Peut-on avoir le choix de les avoir toujours dans des div ou est-ce un choix d’Hikashop?

Encore merci,
Lorenzo

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 6 months ago #351553

Bonjour,

Le système de caractéristiques va rajouter automatiquement le nom de la variante au nom du produit principal avec de l'HTML autour du nom de la variante. Donc c'est prévu qu'il soit possible qu'il y ait de l'HTML à cette endroit. Cela ne devrait donc pas poser de problème.

Concernant les layouts, c'est quelque chose vers lequel nous aimerions tendre par la suite. Nous avons rajouté en 2021 le système de view builder pour personnaliser les vues plus facilement avec un système de drag & drop:
www.hikashop.com/home/blog/471-hikashop-4-4-3.html#drag
Pour l'instant, il est juste possible de déplacer et supprimer des éléments à l'intérieur de zones prédéfinies.
Le but à terme, c'est d'avoir un bouton d'options pour chaque élément, de pouvoir créer de nouvelles zones, etc. Ce qui permettra d'arriver à une personnalisation totale dans besoin de modification de code.

Concernant l'affichage ou non des labels avec du CSS pour différents produits, notez que sur la page de détails de chaque produit il y a un div principal avec une classe pour chaque catégorie liée au produit. Donc vous pouvez par exemple créer une catégorie dépubliée "pas de label", et rajouter du CSS du type:

.hikashop_product_of_category_XX .hikashop_product_custom_name{ display:none; }
où XX serait l'id de cette catégorie.
Ainsi, les produits ayant cette catégorie "pas de label" ajoutée dans leur option "catégories" n'aurait pas le label sur les champs personnalisés automatiquement. Comme cela, vous avez juste à écrire le CSS la première fois, et ensuite, c'est juste une question d'ajouter ou enlever la catégorie aux produits concernés par ce que vous voulez faire en CSS.

Concernant le choix DIV / TABLE pour l'affichage des champs, c'est un choix. en fait, la vue pour les champs sur la page produit date quasiment de la création d'HikaShop, et à cette époque il était courant d'utiliser des TABLE pour la présentation de listes d'élément. L'affichage des champs dans le listing des produits est venu bien après, et là nous avons utilisé des DIV car c'est maintenant la norme.

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

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 6 months ago #351557

ok merci Nicolas pour toutes ces explications, en effet le “View Builder” est vraiment une aubaine, j’attends avec impatience son évolution… ;)

Concernant les labels à afficher/masquer, j’aurai préféré une solution toute simple, mais bon j’ai compris l’astuce… il fallait y penser! … et pour les balises TABLE espérons de les éliminer un jour là où elles ne sont plus nécessaires, merci!

EDIT: je viens d'essayer l'astuce pour l'affichage ou non des labels, pourquoi ne pas avoir appliqué un div principal avec une classe pour chaque catégorie liée au produit aussi pour la liste des produits? Dommage... :(

Last edit: 1 year 6 months ago by kilou.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 6 months ago #351560

Bonjour,

En effet, sur le listing des produits, il n'y a pas de classe pour chaque catégorie de chaque produit actuellement.
Personne n'en avait mentionné le besoin jusqu'à maintenant.
Je pense que c'est quelque chose que nous pourrions rajouter assez facilement. Nous allons voir pour faire cela pour la prochaine version.
Merci du retour.

The following user(s) said Thank You: kilou

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

Time to create page: 0.064 seconds
Powered by Kunena Forum