Mode de livraison instable

  • Posts: 454
  • Thank you received: 31
  • Hikamarket Multivendor Hikashop Business
7 years 11 months ago #257330

-- HikaShop version -- : 2.6.4
-- Joomla version -- : 3.6.4
-- PHP version -- : 5.6

Bonjour,

mon client pour qui nous avons fait un site avec Hikashop me signal que cela fait trois fois qu'un client le contact pour une erreur de commande, apparemment les clients auraient choisi livraison à domicile et la commande s'est finalisée en point relais.

J'ai essayé de recréer le problème, en effet lorsque je rajoute un produit au panier, supprime un produit ou lorsque je change la quantité du produit restant, le mode de livraison se réinitialise sur le premier de la lise : point relais.

Je pense que c'est la manip qu'on du faire ces clients pour créer l'erreur, y a t'il un moyen d'éviter cela ?

Bonus: Comment puis-je retirer l'ancre sur les méthodes de livraison au rafraîchissement de la page ?

Merci d'avance.
Cordialement

EDIT: J'ai retiré la sélection automatique du mode de livraison, donc ca supprime au lieu de changer lorsque de change la quantité ou que je supprime un produit, là c'est bon au moins le client sera obligé de remettre le bon mode, par contre lors de l'ajout d'un produit ca réinitialise à nouveau sur point relais.

Last edit: 7 years 11 months ago by Minie.

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

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
7 years 11 months ago #257335

Bonjour,

Ce qu'il faudrait surtout, c'est ne pas proposer l'édition du panier sur la dernière étape du panier en utilisant la vue "statut de panier" au lieu de "panier" dans votre flux de passage en caisse. ET/OU mettre la vue "panier" avant la vue "livraison" dans les étapes de votre flux de passage en caisse. Ainsi, l'utilisateur changera la quantité des produits avant de sélectionner la méthode de livraison et non pas après.

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

  • Posts: 454
  • Thank you received: 31
  • Hikamarket Multivendor Hikashop Business
7 years 11 months ago #257401

Bonsoir,

merci pour votre réponse, mais mon passage en caisse ne reprend pas d'édition de panier après la première étape, voici mon passage en caisse :



J'ai barré la deuxième livraison car elle est en display: none, elle me sert juste à récupérer l'info de livraison choisie pour mon script d'affichage (ou non) du champ mondial relay l'utilisateur ne peut donc pas modifier le mode de livraison à cette étape.

Les champs perso ne correspondent qu'au sélecteur de point relais.

Je ne propose donc pas d'édition de panier à la dernière étape, et mon client veut absolument l’étape livraison avec le panier en première étape, mais ce n'est pas une raison pour que le mode de livraison se réinitialise en cas d'ajout / suppression ou modification de quantité d'article.

Cordialement

Attachments:

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

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
7 years 11 months ago #257412

Bonjour,

La méthode de livraison sélectionnée se réinitialise suite à la modification du panier car souvent le montant de livraison de la commande change, voir la méthode de livraison n'est plus disponible et donc il faut que l'utilisateur revalide la sélection pour justement éviter qu'un utilisateur se retrouve avec une méthode de livraison ou un montant qui ne correspondrait pas aux produits de son panier.
Dans la version actuelle, le système de vérification du besoin de réinitialisation n'est pas génial et il se peut, comme dans votre cas, que la méthode de livraison choisie soit réinitialisée alors même que cela n'aurait pas été nécessaire.
La prochaine version d'HikaShop améliorera cela grâce au nouveau système de passage en caisse.

The following user(s) said Thank You: hikaphil

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

  • Posts: 382
  • Thank you received: 13
  • Hikashop Business
7 years 11 months ago #257419

nicolas wrote: Bonjour,

La prochaine version d'HikaShop améliorera cela grâce au nouveau système de passage en caisse.


On l'attend avec impatience alors parce que avec Mondial Relay il y a un gros soucis si on décide une fois passer l'étape livraison de faire marche arrière pour prendre Colissimo par exemple, du coup le système nous demande de choisir un point relais ? C'est chaotique au niveau des emails reçus ... heureusement que les prix diffères on peut faire le tri quand ça arrive.

Désolé pour l'incruste dans le post :dry: mais j'ai toujours pas trouvé la combinaison idéale pour grouper ces trois mode de livraison :
Colissimo , retrait boutique et Mondial Relay.

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

  • Posts: 454
  • Thank you received: 31
  • Hikamarket Multivendor Hikashop Business
7 years 11 months ago #257422

J'ai ces trois modes de livraison sur le site en question, je me suis bien cassé la tête pour que mondial relay ne soit visible que si un mode mondial relay est sélectionné, et qu'il soit requis.

Avant tout, regarde plus haut mon passage en caisse, la répétition le "livraison" en étape 3 est justement pour ca, mais en display:none; grâce à ca, je récupère sur cette page les modes de livraison choisis, ainsi j'ai pu réalisé le code suivant :

if (document.getElementById('hikashop_shipping_manual_1') || 
	document.getElementById('hikashop_shipping_manual_1_1') || 
	document.getElementById('hikashop_shipping_manual_1_2') || 
	document.getElementById('hikashop_shipping_manual_1_3') || 
	document.getElementById('hikashop_shipping_manual_1_4') || 
	document.getElementById('hikashop_shipping_manual_1_5') || 
	document.getElementById('hikashop_shipping_manual_1_6') || 
	document.getElementById('hikashop_shipping_manual_2') || 
	document.getElementById('hikashop_shipping_manual_2_1') || 
	document.getElementById('hikashop_shipping_manual_2_2') || 
	document.getElementById('hikashop_shipping_manual_2_3') || 
	document.getElementById('hikashop_shipping_manual_2_4') || 
	document.getElementById('hikashop_shipping_manual_2_5') || 
	document.getElementById('hikashop_shipping_manual_2_6') || 
	document.getElementById('hikashop_shipping_manual_3') || 
	document.getElementById('hikashop_shipping_manual_3_1') || 
	document.getElementById('hikashop_shipping_manual_3_2') || 
	document.getElementById('hikashop_shipping_manual_3_3') || 
	document.getElementById('hikashop_shipping_manual_3_4') || 
	document.getElementById('hikashop_shipping_manual_3_5') || 
	document.getElementById('hikashop_shipping_manual_3_6') || 
	document.getElementById('hikashop_shipping_manual_4') || 
	document.getElementById('hikashop_shipping_manual_4_1') || 
	document.getElementById('hikashop_shipping_manual_4_2') || 
	document.getElementById('hikashop_shipping_manual_4_3') || 
	document.getElementById('hikashop_shipping_manual_4_4') || 
	document.getElementById('hikashop_shipping_manual_4_5') || 
	document.getElementById('hikashop_shipping_manual_4_6') || 
	document.getElementById('hikashop_shipping_manual_11') || 
	document.getElementById('hikashop_shipping_manual_11_1') || 
	document.getElementById('hikashop_shipping_manual_11_2') || 
	document.getElementById('hikashop_shipping_manual_11_3') || 
	document.getElementById('hikashop_shipping_manual_11_4') || 
	document.getElementById('hikashop_shipping_manual_11_5') || 
	document.getElementById('hikashop_shipping_manual_11_6') || 
	document.getElementById('hikashop_shipping_manual_13') || 
	document.getElementById('hikashop_shipping_manual_13_1') || 
	document.getElementById('hikashop_shipping_manual_13_2') || 
	document.getElementById('hikashop_shipping_manual_13_3') || 
	document.getElementById('hikashop_shipping_manual_13_4') || 
	document.getElementById('hikashop_shipping_manual_13_5') || 
	document.getElementById('hikashop_shipping_manual_13_6')
   ) {
	if ($('#hikashop_shipping_manual_1').is(':checked') || 
        $('#hikashop_shipping_manual_1_1').is(':checked') || 
        $('#hikashop_shipping_manual_1_2').is(':checked') || 
        $('#hikashop_shipping_manual_1_3').is(':checked') || 
        $('#hikashop_shipping_manual_1_4').is(':checked') || 
        $('#hikashop_shipping_manual_1_5').is(':checked') || 
        $('#hikashop_shipping_manual_1_6').is(':checked') || 
        $('#hikashop_shipping_manual_2').is(':checked') || 
        $('#hikashop_shipping_manual_2_1').is(':checked') || 
        $('#hikashop_shipping_manual_2_2').is(':checked') || 
        $('#hikashop_shipping_manual_2_3').is(':checked') || 
        $('#hikashop_shipping_manual_2_4').is(':checked') || 
        $('#hikashop_shipping_manual_2_5').is(':checked') || 
        $('#hikashop_shipping_manual_2_6').is(':checked') || 
        $('#hikashop_shipping_manual_3').is(':checked') || 
        $('#hikashop_shipping_manual_3_1').is(':checked') || 
        $('#hikashop_shipping_manual_3_2').is(':checked') || 
        $('#hikashop_shipping_manual_3_3').is(':checked') || 
        $('#hikashop_shipping_manual_3_4').is(':checked') || 
        $('#hikashop_shipping_manual_3_5').is(':checked') || 
        $('#hikashop_shipping_manual_3_6').is(':checked') || 
        $('#hikashop_shipping_manual_4').is(':checked') || 
        $('#hikashop_shipping_manual_4_1').is(':checked') || 
        $('#hikashop_shipping_manual_4_2').is(':checked') || 
        $('#hikashop_shipping_manual_4_3').is(':checked') || 
        $('#hikashop_shipping_manual_4_4').is(':checked') || 
        $('#hikashop_shipping_manual_4_5').is(':checked') || 
        $('#hikashop_shipping_manual_4_6').is(':checked') || 
        $('#hikashop_shipping_manual_11').is(':checked') || 
        $('#hikashop_shipping_manual_11_1').is(':checked') || 
        $('#hikashop_shipping_manual_11_2').is(':checked') || 
        $('#hikashop_shipping_manual_11_3').is(':checked') || 
        $('#hikashop_shipping_manual_11_4').is(':checked') || 
        $('#hikashop_shipping_manual_11_5').is(':checked') || 
        $('#hikashop_shipping_manual_11_6').is(':checked') || 
        $('#hikashop_shipping_manual_13').is(':checked') || 
        $('#hikashop_shipping_manual_13_1').is(':checked') || 
        $('#hikashop_shipping_manual_13_2').is(':checked') || 
        $('#hikashop_shipping_manual_13_3').is(':checked') || 
        $('#hikashop_shipping_manual_13_4').is(':checked') || 
        $('#hikashop_shipping_manual_13_5').is(':checked') || 
        $('#hikashop_shipping_manual_13_6').is(':checked')
       ) {
   	 	$("#hikashop_checkout_additional_info").show();
	} else {
    	$("#hikashop_checkout_additional_info").detach();
}
}

Ca peut paraître un peu barbare comme ca, je m'explique lol.

Le premier pavé vérifie si l'un des modes de livraison mondial relay existe, dans mon cas (histoire de compliquer encore plus les choses) j'ai plusieurs mondial relay avec pour ID de mode de livraison :1,2,3,4,11,13. Je les répète car si un client choisi plusieurs produits avec des restrictions différentes, l'ID hikashop_shipping_manual_XX se voit rajouter un chiffre selon le bloc "shipping methode" ou il se trouvera donc obligé de prévoir toutes les combinaisons possibles.

Le deuxième pavé vérifie si l'un des modes de livraison mondial relay est coché, idem avec toutes les combinaisons possibles.

Enfin j’exécute mon action si l'une des conditions est remplie, j'affiche le champ personnalisé contenant le plugin mondial relay.

Sinon, si aucune condition ne permet l’exécution de mon action, j'utilise la fonction .detach pour que le plugin n'apparaisse ni dans la page, ni dans le code, ce qui va permettre de le paramétrer en "requis". Si j'utilisais la fonction .hide, équivalent du display: none; un client qui commande à domicile aurait un message "remplir le point relais" alors que le plugin est caché.

NB: Pour exécuter mon code il faut que tu répète l’étape livraison sur la page du mondial relay pour récupérer l'info des modes de livraison choisi, ne pas oublier, sinon rien ne marche. (Tu peux le mettre en display none comme moi)

J'espère que ca à pu résoudre ton problème, si besoin de plus d'explication, je suis dans le coin :)

Last edit: 7 years 11 months ago by Minie.
The following user(s) said Thank You: hikaphil

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

  • Posts: 382
  • Thank you received: 13
  • Hikashop Business
7 years 11 months ago #257424

Rhoooo j'aimerai trop pouvoir le faire je vais essayé de comprendre tout ça et de faire des essais , ton fichier php avec tout ce code c'est lequel ? ou on met ce code ci-dessus ?

Merci d'avance

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

  • Posts: 454
  • Thank you received: 31
  • Hikamarket Multivendor Hikashop Business
7 years 11 months ago #257426

Dans le template que tu utilise pour ton site, tu as surement un dossier scripts, sinon, tu peux en créer un, et y mettre un fichier JS (javascript) dedans, chez moi je l'appelle toujours script.js tout simplement.

Tu colle ce code dedans, n'oublie pas de modifier les ID selon tes modes de livraison et leur déclinaisons possibles.

Il faut le déclarer dans ton index.php aussi comme ceci :

<script src="/templates/nom_de_ton_template/scripts/script.js" type="text/javascript"></script>

Et dans ton fichier CSS, tu rends invisible la répétition du choix de livraison :
.hikashop_checkout_page_step2 .hikashop_shipping_methods {
    display: none;
}

N'oublie pas de changer le numéro de l'étape selon ton chemin de passe en caisse pour qu'il ne soit invisible que à l'étape mondial relay et non là ou le client doit choisir.

The following user(s) said Thank You: hikaphil

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

  • Posts: 382
  • Thank you received: 13
  • Hikashop Business
7 years 11 months ago #257432

Ok merci, la suite en mp si ça te va ... pour pas faire remonter le post ;)... là dejà j'essaye de faire disparaître le mode de livraison mais n'est pas David Copperfield qui veut ;)

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 11 months ago #257427

Bonjour,

Notre composant interne permettant de gérer les licences a été mis à jour afin de gérer la livraison de version "bêta".
Toute la partie sur le checkout a été finalisée de notre côté et la bêta va nous permettre de faire tous les ajustements nécessaires.
Je continue de travailler autant que possible (nuit et week end compris) sur le développement d'HikaShop 3, améliorant aussi bien les vues que la structure interne.
pasteboard.co/86s1RqIsS.png

Vis à vis du code posté, je me suis permit de faire une petite ré-écriture afin de le rendre plus compact et sans utilisation de jQuery.
Cela permet de gérer la liste des méthodes avec une seule variable (et éviter des copier/coller).

var d = document, found = false, el = null, method = null,
	methods = [1,2,3,4,11,13];
for(var i = 0; i < methods.length; i++) {
	method = methods[i];
	el = d.getElementById('hikashop_shipping_manual_' + method);
	if(el && el.checked) {
		found = true;
		break;
	}
	for(var j = 1; j <= 6; j++) {
		el = d.getElementById('hikashop_shipping_manual_' + method + '_' + j);
		if(el && el.checked) {
			found = true;
			break;
		}
	}
	if(found)
		break;
}
var dest = d.getElementById('hikashop_checkout_additional_info');
dest.style.display = (found ? '' : 'none');

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
The following user(s) said Thank You: hikaphil

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

  • Posts: 454
  • Thank you received: 31
  • Hikamarket Multivendor Hikashop Business
7 years 11 months ago #257469

En effet c'est pro ! :)

Par contre cela applique un display none, mondial relay reste donc visible dans le dom et posera donc un problème en tant que champ requis dans les cas de livraison à domicile ou retrait en boutique.

Merci pour cette version bien moins barbare lol

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

  • Posts: 382
  • Thank you received: 13
  • Hikashop Business
7 years 11 months ago #257471

Bonjour,,

gixia wrote: Il faut le déclarer dans ton index.php aussi comme ceci :

<script src="/templates/nom_de_ton_template/scripts/script.js" type="text/javascript"></script>

index.php de la racine ou tu dossier template ?

[/code]


index.php de la racine ou tu dossier template ? Merci

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

  • Posts: 454
  • Thank you received: 31
  • Hikamarket Multivendor Hikashop Business
7 years 11 months ago #257472

Dans l'index.php de la racine ton template.

Peut importe la modification que tu souhaite faire c'est toujours sur celui ci.

The following user(s) said Thank You: hikaphil

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 11 months ago #257470

Bonjour,

Il est possible de faire le "detach" comme vous avez dans votre code originel.
Remplacer :

dest.style.display = (found ? '' : 'none');
Par quelque chose dans le genre :
if(found)
   dest.style.display = '';
else
   dest.parentNode.removeChild(dest);

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

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

  • Posts: 382
  • Thank you received: 13
  • Hikashop Business
7 years 11 months ago #257517

Bonjour, je viens de m'apercevoir aussi que lorsque on a " Rafraîchissement automatique lors de la sélection du paiement ou de la livraison " + "Afficher la case à cocher 'même adresse' pour la livraison " si on décoche et re-coche "Utiliser la même adresse que pour la facturation" le process avance d'une étape ? alors que si on a deux adresses de facturation on peut changer l'une et l'autre ?

Il faudrait que l'on puisse décocher et re-cocher "Utiliser la même adresse que pour la facturation" sans faire avancer le process checkout parceque le client peut très bien dans sa tête choisir de modifier l'adresse de livraison et se raviser pour changer l'adresse de facturation ...lol

thx

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 11 months ago #257522

Bonjour,

Il n'y aura plus ce genre de soucis avec HikaShop 3.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
The following user(s) said Thank You: hikaphil

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
7 years 7 months ago #266339

Bonjour,

Permettez-moi de m'incruster... ;)
N'y a-t-il pas plus simple comme solution pour ne faire apparaître le choix du relais que pour un mode de livraison "Mondial Relay".
Je suis en train de donner un coup de main pour ce plugin à un bénévole créant une boutique avec la version standard d'Hikashop (3.0.1 sur le site de test, 2.6.0 pour l'instant sur le site de production) pour un de ses amis, et je me trouve confronté à cette question, le problème étant que s'il change de template, le propriétaire du site ne sera probablement pas capable de transférer.
Une solution de type plugin ne serait-elle pas envisageable ?

Merci par avance de vos conseils,
Robert

Last edit: 7 years 7 months ago by RG-Consultant.

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 7 months ago #266344

Bonjour,

Qu'entendez-vous par "type plugin" ?
Car il s'agit déjà d'un plugin pour "Mondial Relay".

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

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

  • Posts: 214
  • Thank you received: 11
  • Hikashop Business
7 years 7 months ago #266355

Merci Jerôme,

Je ne parle pas du plugin Mondial Relay, mais d'un moyen plus simple pour associer ce plugin à un mode de livraison, car une fois le plugin Mondial Relay installé, quel que soit le mode de livraison sélectionné par l'acheteur, Colissimo ou retrait en boutique par exemple, on lui impose de choisir un relais pour pouvoir valider sa commande.

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 7 months ago #266359

Bonjour,

D'accord, je comprends mieux votre demande.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

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

Time to create page: 0.080 seconds
Powered by Kunena Forum