Jump to content

Supprimer des étapes process commande


Papillon

Recommended Posts

Bonjour,

Est ce que quelqu'un pourrait m'indiquer comment supprimer des étapes dans le process de commande ?

Je vous explique, quand un client est connecté et passe commande nous voulons supprimer l'étape 2 et 3 (adresses et mode de livraison) et passer directement au paiement qui sera uniquement virement bancaire.
Avant que l'on me dise que ce n'est pas logique je vous explique pourquoi cette demande, Prestashop est connecté à un ERP avec lequel on gère les commandes, facturation... Sur Prestashop c'est nous qui créons les accès clients qui sont uniquement des pros. Quand le client se connecte, il arrive sur une page sous forme de bon de commande ou il sélectionne ses produits et quantités...
Ensuite il passe sa commande, valide le paiement par virement et la commande remonte automatiquement sur l'ERP.
Nous avons toutes les infos client sur l'ERP ou nous gérons ensuite tout le reste de la commande.

Voilà pourquoi nous avons absolument besoin raccourcir le process de commande.

 

Merci d'avance pour votre aide.

Version de Prestashop 1.7.5

Link to comment
Share on other sites

OK

Pour l'instant j'arrive à supprimer l'affichage de ces 2 step en faisant comme ça:

 

 public function init()
    {
        parent::init();
        /**$this->cartChecksum = new CartChecksum(new AddressChecksum());*/
    }

 

   $this->checkoutProcess
            ->addStep(new CheckoutPersonalInformationStep(
                $this->context,
                $translator,
                $this->makeLoginForm(),
                $this->makeCustomerForm()
            ));
            /**->addStep(new CheckoutAddressesStep(
                $this->context,
                $translator,
                $this->makeAddressForm()
            ))*/

Pour la livraison aucun problème étant donné que le 1er transporteur sera automatiquement sélectionné.

Par contre pour l'adresse il y a un controller qui va contrôler si les champs obligatoire du formulaire sont bien rempli...
Et donc la commande ne passe pas étant donnée que l'adresse n'est pas renseignée.

Comment faire pour passer le step adresse sans qu'elle soit rempli ?

Edited by Papillon (see edit history)
Link to comment
Share on other sites

Lorsqu'un panier est virtuel, il n'y a pas de livraison.

controllers/front/OrderController.php:@124

       if (!$this->context->cart->isVirtualCart()) {

remplacer par

       if (false && !$this->context->cart->isVirtualCart()) {

 

Mais il faut une adresse de facturation. Donc a toi de "fake" une adresse si tu veux complètement sauter l'étape

Edited by doekia (see edit history)
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...