Jump to content

Supprimer une étape du processus de commande


Recommended Posts

Hello,

Je souhaite raccourci les étapes lors de la finalisation de la commande.
Comme je propose les frais de port gratuit je voudrais supprimer cette page.
J'ai donc édité order.php comme suit:

/* 4 steps to the order */
   switch (intval($step))
   {
       case 1:
           displayAddress();
           break;
       case 2:
           if(Tools::isSubmit('processAddress'))
               processAddress();
           autoStep(2);
           //displayCarrier();
           checkFreeOrder();//added
           displayPayment();//added
           break;
   //    case 3:
   //        if(Tools::isSubmit('processCarrier'))
   //            processCarrier();
   //        autoStep(3);
   //        checkFreeOrder();
   //        displayPayment();
   //        break;
       default:
           $smarty->assign('errors', $errors);
           displaySummary();
           break;
   }



Ca a l'air de marcher, au moins en apparence. Mais est-ce bien la meilleure solution??

Merci d'avance,
Olivier.

EDIT : Je ne l'utilise plus sur mon magasin.

Link to comment
Share on other sites

  • 2 months later...

J'ai pas trop fouillé la dedans, mais si je devais le faire, en plus de supprimer l'étape du frais de port, je pense que je ferais en sorte que sur la page qui arrive après (sur le .php), je charge (je ne sais pas comment, j'ai pas vu en détail comment une commande se faisait) le fameux transporteur "gratuit" que tu as.

En effet, il y a une chance que Prestashop n'accepte pas trop bien les commandes sans transporteurs par défaut.

Je rejoint l'avis d'ould.abeidy sur le fait de faire quelques tests (Fait des chèques, tu pourra annuler après).

Link to comment
Share on other sites

Merci pour cette aide. Je cherchais a supprimer la partie frais de port.

Cela marche chez moi. Par contre il faut changer la step du bouton précédent sur la page du choix du paiement et ajouter l'acceptation de CGV.


Ha oui j'ai ce problème avec les CGV, ta du changer les fichiers templates c'est bien ca?
Par contre j'ai eu aucun probleme de commande "sans transporteur".
Link to comment
Share on other sites

  • 2 months later...

Bonjour,
J'essaie de faire la même chose : supprimer les étapes de livraison dans le tunnel de commande par contre, l'édition du fichier order comme cité ci-dessus n'a aucun effet de mon côté.
Est-ce quelqu'un pourrait m'éclairer sur la marche à suivre pour supprimer cette étape : édition des fichiers php + des templates, accepter les CDV ??

Merci beaucoup pour votre aide.

Link to comment
Share on other sites

Si ça ne marche plus je pense que ça doit être du au fait qu'aucun transporteur n'est sélectionné. Les développeurs ont du rajouter une vérification.
Est-ce que tu peux détailler exactement ce qui se passe stp? Est-ce que ça affiche une erreur?

Tu peux essayer de modifier le code comme suit:

global $cart; //add at the top
[...]
/* 4 steps to the order */
   switch (intval($step))
   {
       case 1:
           displayAddress();
           break;
       case 2:
           if(Tools::isSubmit('processAddress'))
               processAddress();
           autoStep(2);
           //displayCarrier();
           $cart->id_carrier = 1;// added; 1 is the id the carrier you want to select
           processCarrier();//added
           checkFreeOrder();//added
           displayPayment();//added
           break;
   //    case 3:
   //        if(Tools::isSubmit('processCarrier'))
   //            processCarrier();
   //        autoStep(3);
   //        checkFreeOrder();
   //        displayPayment();
   //        break;
       default:
           $smarty->assign('errors', $errors);
           displaySummary();
           break;
   }



Si le $cart->id_carrier = 1; ne marche pas, tu peux essayer avec $isVirtualCart=1; Dans les 2 cas n'oublie pas de déclarer la variable en Global ou ça ne marchera pas.

Cordialement.

Link to comment
Share on other sites

Woaw, Abatonime c'est énorme, merci..
En fait ça fonctionne, ça saute bien l'étape de choix du transport par contre, pas moyen de passer l'écran suivant qui est le résumé du panier.
Lorsque je clique sur suivant à cette étape, il me renvoie à l'étape précédente : "adresse".
Il doit y avoir une info qui lui manque ??

Link to comment
Share on other sites

Bonjour,
Si je ne m'abuse il s'agit juste d'une validation javascript lorsque l'on soumet le formulaire, non ?
Essaye pê juste d'inclure le script conditions.js dans la page avec un test dans la balise form lorsque le formulaire est soumit :

onsubmit="return acceptCGV('{l s='Please accept the terms of service before the next step.' js=1}');"



Bien à toi, à + tard..

Link to comment
Share on other sites

  • 3 months later...
  • 5 months later...

Bonjour,

 

Est-ce normal que mon fichier order.php ne contienne que ceci :

require(dirname(__FILE__).'/config/config.inc.php');
ControllerFactory::getController('OrderController')->run();

 

Ou ne parle-t-on pas du même fichier ?

 

Merci d'avance !

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...