Pour un client j’ai du modifier quelque peu le fonctionnement de Magento.

Catalogue au seul client

Il fallait, dans un premier temps, afficher le catalogue au seule personne connectée. J’ai trouvé cette extension gratuite login only catalog qui fonctionne très bien.

Identification du checkout

Ensuite, j’ai supprimée la partie d’identification du panier (vu que l’on est déjà connecté) : skip-checkout-step-1.

Modes de livraisons et infos de paiement

Pour supprimer les modes de livraison et les informations de paiement, je suis tombée sur ce module magento-onestep-checkout-remove-payment-and-shipping-method-step.

Informations de facturation et de livraison

Ensuite, pour contourner les informations de facturation et de livraison de la commande j’ai du mettre les main un peu dans le camboui comme on dit ^_^
Penser à faire des copies de sauvegardes de vos fichiers !!

Ouvrez le fichier app code local Mage Checkout Block Onepage.php
Dans la fonction function getSteps() trouvez la ligne :

$stepCodes = array('billing', 'shipping','shipping_method', 'payment', 'review');

et la remplacer par :

$stepCodes = array('shipping_method', 'payment', 'review', 'billing', 'shipping');

Ensuite, ouvrez le fichier app Design frontend default default template checkout onepage.phtml et remplacer ce code JavaScript :

//<![CDATA[
    var accordion = new Accordion('checkoutSteps', '.head', true);
    getActiveStep()): ?>
    accordion.openSection('opc-getActiveStep() ?>');

    var checkout = new Checkout(accordion,{
        progress: 'getUrl('checkout/onepage/progress') ?>',
        review: 'getUrl('checkout/onepage/review') ?>', 
        saveMethod: 'getUrl('checkout/onepage/saveMethod') ?>', 
        failure: 'getUrl('checkout/cart') ?>'
    } );
//]]>

Par

//<![CDATA[
    var accordion = new Accordion('checkoutSteps', '.head', true);
    getActiveStep()): ?>
    accordion.openSection('opc-getActiveStep() ?>');

    var checkout = new Checkout(accordion,{
        progress: 'getUrl('checkout/onepage/progress') ?>',
        review: 'getUrl('checkout/onepage/review') ?>',
        saveMethod: 'getUrl('checkout/onepage/saveMethod') ?>',
        failure: 'getUrl('checkout/cart') ?>'
    } );

    document.getElementById('opc-billing').style.display = 'none';
    document.getElementById('checkout-step-shipping').style.display = 'none';
    shipping.save(); document.getElementById('opc-shipping').style.display = 'none';
//]]>

Source (Modification de la source pour y ajouter la suppression des information de livraison)

Et voilà, il ne vous reste plus que la partie de vérification de commande et le bouton « Valider » final !

J’espère que ça vous aura aidé !