Pop-up d'ajout au panier

  • Posts: 406
  • Thank you received: 27
  • Hikamarket Multivendor Hikashop Business
1 year 1 month ago #350111

Bonjour,

Cela fait un moment que je suis à la recherche d'une solution pour ajouter une class sur le bouton d'ajout au panier en fonction de l'état du notify (produit ajouté au panier ou message d'erreur), ce qui me permettrait de lancer un pop-up personnalisé si le produit a été correctement ajouté au panier.

Je m'explique:

Plug-ins : Hikashop Cart notification Plugin, réglé sur Bouton d'ajout au panier.

Si le produit a correctement été ajouté au panier alors on ajoute une class, par exemple sur le bouton d'ajout au panier

J'ai épluché pas mal de fichiers et forcement passé à côté... si vous pouvez me donner un coup de main

Merci beaucoup

Attachments:

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

  • Posts: 406
  • Thank you received: 27
  • Hikamarket Multivendor Hikashop Business
1 year 1 month ago #350114

Trouvé cette solution :

if (window.Oby) {
    window.Oby.registerAjax(["cart.updated"], function (params) {
      if (params.id != 0) {
        document.querySelector(".btn--add-cart").classList.add("modal--active");
      }
    });
  }

Merci et désolé du dérangement :/

Attachments:

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

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
1 year 1 month ago #350116

Bonjour,

Essayez d'ajouter le code:

		if(params.el) {
			params.el.classList.add('hikashop_product_added');
			if(p.hide_delay && p.hide_delay > 0) {
				setTimeout(function(){ params.el.classList.remove('hikashop_product_added'); }, p.hide_delay);
			}
		}
Après la ligne:
try {
dans le fichier plugins/hikashop/cartnotify/media/notify.js
Cela ajoutera la class hikashop_product_added au bouton juste avant l'affichage de la popup de notification et cela enlèvera ensuite la classe lorsque la popup ce cachera automatiquement (si vous avez configurer le plugin pour cela).

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

  • Posts: 406
  • Thank you received: 27
  • Hikamarket Multivendor Hikashop Business
1 year 1 month ago #350123

Merci pour le code fourni mais il ne correspond pas tout à fait à ce que je recherche.

Je souhaite ajouter cette class uniquement lorsque le produit est ajouté au panier.

Le code ajoute la class "hikashop_product_added" même lorsque le produit n'est pas ajouté au panier, par exemple si la quantité max est atteinte ou si certains champs "requis" ne sont pas sélectionnés.

Le code que je vous ai fourni fonctionne pour le moment mais il présente peut être des defaults que je n'ai pas encore pu exploiter.

Qu'en pensez-vous ?

Merci Nicolas

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

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
1 year 1 month ago #350124

Bonjour,

Il suffit de modifier un peu le code dans ce cas:

	if(params.el) {
		var className = 'hikashop_product_added';
		if(!success)
			className = 'hikashop_product_not_added';
		params.el.classList.add(className);
		if(p.hide_delay && p.hide_delay > 0) {
			setTimeout(function(){ params.el.classList.remove(className); }, p.hide_delay);
		}
	}

Votre code est bien aussi. En plus, vous pouvez l'ajouter où vous voulez. Je n'avais pas vu le message avec le code en postant mon message précédent.

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

  • Posts: 406
  • Thank you received: 27
  • Hikamarket Multivendor Hikashop Business
1 year 1 month ago #350136

Bonjour Nicolas,

Impeccable on gagne un peu de ms :)

The following user(s) said Thank You: Philip

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

Time to create page: 0.068 seconds
Powered by Kunena Forum