Posts Tagged ‘checkout’

Magento : Mauvais calcul des frais de ports dans le checkout

Note : Cet article s’applique uniquement aux versions de Magento inférieures à la 1.6

Sur une version 1.5 de Magento j’ai été confronté au comportement d’erreur suivant :

Pour un panier comportant un bon de réduction.
Les frais de ports devant être offerts à partir de X euros.

  • les frais de ports n’étaient pas calculés correctement dans le checkout lors de l’affichage des méthodes de livraisons
  • Les frais de ports étaient calculés correctement dans l’estimation des frais de port du panier
  • Les frais de ports étaient correct dans le résumé de la commande.
  • Si l’adresse de livraison étaient différente de l’adresse de livraison , le calcul était correct.

Après analyse du code, il s’avère que les frais de ports ne sont pas recalculés si on conserve la même adresse de livraison.
Voici comment corriger cela.

Il faut surcharger la fonction saveBilling du fichier app/code/core/Mage/Checkout/Model/Type/Onepage.php.
Pour cela, nous pouvons au choix faire un override du modèle (meilleure solution ) ou déplacer ce fichier dans le codePool local.…

Pas de commentaires

Magento : Ajouter des nouveaux attributs aux formulaires de création de compte

Une mise à jour de cet article pour Magento 2 est disponible : Magento 2 : Ajouter des nouveaux attributs aux formulaires de création de compte
Dans cet article nous allons voir ensemble comment ajouter proprement un nouvel attribut client qui sera affiché dans les formulaires suivants

  • Création de compte ( normal )
  • Création de compte ( checkout )
  • Création de compte ( admin )

Pour l’exemple nous allons créer un attribut « website_know », qui permettra de demander au client via quel source il a connu le site.

Le tout va être géré via un module nommé « Hhennes_Customer ».
Je ne détaillerais pas toutes les étapes de création du module mais uniquement les points particuliers.

Partie Code :

Pour commencer voici le fichier de configuration de notre module.

 <?xml version="1.0"?>
 
<config>
 
    <!-- Configuration de base du Module -->
    <modules>
        <Hhennes_Customer>
            <version>0.1.0</version>    
        </Hhennes_Customer>
    </modules>
 
    <!-- Configuration globale -->
    <global>
        <helpers>
            <hhennes_customer>
                <class>Hhennes_Customer_Helper</class>    
            </hhennes_customer>
        </helpers>
       <!-- Configuration de l'installation -->
        <resources>
            <hhennescustomer_setup>
                <setup>
                    <module>Hhennes_Customer</module>
                    <class>Mage_Customer_Model_Entity_Setup</class>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </hhennescustomer_setup>
        </resources>
        <!-- Nouveau champ de création de compte dans le checkout -->
        <fieldsets>
            <customer_account>
                <website_know>
                    <create>1</create>
                    <update>1</update>
                    <to_quote>*</to_quote>
                </website_know>
            </customer_account>
            <checkout_onepage_quote>
                <website_know>
                    <to_customer>*</to_customer>>
                </website_know>
            </checkout_onepage_quote>
        </fieldsets>
    </global>
    <frontend>
        <layout>
            <updates>
                <hhennes_customer>
                    <file>hhennes_customer.xml</file>
                </hhennes_customer>
            </updates>
        </layout>
    </frontend>
</config>

Nous reviendrons plus tard sur la signification de l’ensemble des noeuds.…

Pas de commentaires

Magento : Supprimer le champ obligatoire « régions » dans les adresses du checkout

Sous Magento ( version 1.4.x ) pour certains pays il est nécessaire de choisir une région associée à l’adresse.
Utile pour certains pays (US,CA … ) cette information n’est pas forcément judicieuse pour la France.
C’est d’autant plus agaçant que ce champ est considéré comme obligatoire par magento.

Voici les étapes à réaliser pour ne plus afficher ces éléments :
Pour commencer il faut supprimer directement dans la table sql les régions associées au pays pour lequel on ne souhaite plus afficher les régions.
Pour la france voici le code sql

DELETE FROM mag_directory_country_region WHERE country_id = 'FR'

Une fois cette manipulation effectuée, la saisie du champ « Région » devient facultative.
Il est donc possible de modifier directement les fichiers billing.phtml et shipping.phtml situé dans le dossier « yourThemeDirectory/checkout/onepage/ » pour ne plus faire apparaitre cette information.…

Pas de commentaires


Archives

Compte Github