- Posts: 56
- Thank you received: 1
désactiver le panier
- RomainFaure
-
Topic Author
- Offline
Y a-t-il un moyen de désactiver le panier? J'aimerais qu'un utilisateur n'ai qu'un produit achetable à chaque fois.
Mes remerciements par avances à ceux qui me répondront!
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Please Log in or Create an account to join the conversation.
Dans l'onglet "Passage en caisse" de la configuration, il suffit de mettre 1 dans l'option "Nombre maximum de produits dans le panier".
Dans l'onglet "Passage en caisse" de la configuration, il suffit d'activer l'option "Autoriser les clients à changer<br/>leur méthode de paiement après le passage en caisse".
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
EDIT: je reformule ma question: Y a-t-il une option/fonction qui vide le panier avant l'ajout d'un quelconque produit dedans?
Par exemple, je peux faire une action avant qu'un order soit créé en utilisant onBeforeOrderCreate. Là je souhaiterais faire une action avant qu'un produit soit ajouté au panier!
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Voilà voilà. Merci encore pour le travail effectué sur ce forum.
Please Log in or Create an account to join the conversation.
onBeforeCartUpdate(&$cartClass, &$cart, $product_id, $quantity, $add, $type,$resetCartWhenUpdate,$force,&$do)
Pour le champs de quantité du panier, il faut éditer les fichiers "cart" des vues "product" et "checkout" via le menu Affichage->Vues et changer le input de quantité
<input id="hikashop_checkout_quantity_<?php echo $row->cart_product_id;?>" type="text" name="item[<?php echo $row->cart_product_id;?>]" class="hikashop_product_quantity_field" value="<?php echo $row->cart_product_quantity; ?>" onchange="var qty_field = document.getElementById('hikashop_checkout_quantity_<?php echo $row->cart_product_id;?>'); if (qty_field){<?php echo $input; ?>}" />
par simplement la valeur: <?php echo $row->cart_product_quantity; ?>
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Suite à quelques tests je me pose la question de la fonction du paramètre $add. Y a-t-il une doc sur cette fonction disponible?
Merci encore pour le support!
Please Log in or Create an account to join the conversation.
Quand il est à 0, la quantité du produit est remplacée dans le panier.
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
(cart bloqué à 1 produit max dans le panier)
Cas 1: Si il y a déjà un produit dans le panier
1A- Si on tente de rajouter le même produit, on ne fait rien
1B- Si on tente de rajouter un produit différent de celui dans le cart, on delete le produit dans le hikashop_cart_produit
Puis on renvoie "true"
Cas 2: Si il n'y a pas de produit dans le panier
2- On ne fait rien
EDIT: Mais en faisant ça j'obtiens le message suivant:
"
Message
Limite dépassée. Vous ne pouvez ajouter le produit: produit A
Le panier est vide
"
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
"J'ai déjà un produit A dans le cart, mon cart est limité à un seul produit, et je veux rajouter un nouveau produit B (distinct de A) dans le cart qui remplace le produit A".
Je pense que c'est plus clair comme ça!
Please Log in or Create an account to join the conversation.
Cela peut se faire ainsi:
$class = hikashop_get('class.cart');
if($class->hasCart()){
$class->delete($class->cart->cart_id);
}
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Finalement, j'ai obtenu ce que je voulais en faisant la manipulation suivante:
- dans onBeforeCartUpdate, je regarde si je suis dans la situation de conflit de produit
- si oui, j'update le produit dans la table hikashop_cart_products en le remplaçant par le nouveau
- le cas échéant, je mets le paramètre $do à 0 afin d'annuler la mise à jour du cart vue que je viens de le faire manuellement.
J'espère que ce n'a va pas poser de problèmes à l'avenir...
Sinon j'ai fait un test de validation de paiement avec la sandbox, et j'ai utilisé la fonction onAfterOrderConfirm. Et là cette fonction ne s'active pas lors du paiement...du coup je me posais la question de si elle pouvais être appelée dans un plugin hikashop simple, ou seulement dans un plugin hikashoppayment?
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Please Log in or Create an account to join the conversation.
Cette fonction permet au plugin de paiement sélectionné d'afficher la redirection vers la plateforme de paiement. Les autres autres plugins de paiement et les autres plugins en général ne sont pas appelés pour cette fonction.
Si vous voulez executer du code après la confirmation d'une commande c'est onAfterOrderUpdate qu'il faut implémenter.
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Je vais faire des tests, je reviens vers vous après!
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Please Log in or Create an account to join the conversation.
Et notemment lorsque le statut de la commande est passée de créée à confirmée par le plugin de paiement lors de la notification automatique de paiement par la plateforme de paiement à HikaShop.
Si onAfterOrderUpdate n'est pas appelé après le paiement, c'est que le statut de la commande n'est pas changé et que donc la plateforme de paiement n'a pas notifiée HikaShop du paiement:
www.hikashop.com/en/support/documentatio...or.html#notification
Please Log in or Create an account to join the conversation.
- RomainFaure
-
Topic Author
- Offline
- Posts: 56
- Thank you received: 1
Merci encore Nicolas pour ta patience et ton aide.
Please Log in or Create an account to join the conversation.