Archives de septembre, 2015

Magento : Ajouter un champ de confirmation d’email sur les formulaires d’inscription

Afin de vous mettre à l’abri des erreurs de saisies d’email lors de la création de compte sur Magento et des ses multiples effets de bords ( Emails et informations perdus, réassurance et expérience client médiocre … ) voici comment mettre en place une solution rapide sur vos formulaires de création de compte.

Le principe est relativement simple, nous allons rajouter un nouveau champ “Confirmation email”  dans lequel l’utilisateur devra saisir à nouveau son adresse email.
Les 2 saisies de l’email permettent déjà de réduire considérablement les erreurs de frappe.

Ce tutoriel est réalisé sur la version 1.9.2 de Magento avec le thème rwd en base.

Modification des templates

Pour commencer il va falloir dupliquer les fichiers suivants contenant les formulaires de création de compte.
Du thème rwd : app/design/frontend/rwd/default/template/ dans votre thème app/design/frontend/yourtheme/default/template/

  • persistent/customer/form/register.phtml ( Création de compte standard )
  • persistent/checkout/onepage/billing.phtml ( Création de compte dans le checkout )

 

Dans le fichier register.phtml rechercher le code suivant :

<li>
<label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
<div class="input-box">
<input type="email" autocapitalize="off" autocorrect="off" spellcheck="false" name="email" id="email_address" value="<?php echo $this->escapeHtml($this->getFormData()->getEmail()) ?>" title="<?php echo $this->quoteEscape($this->__('Email Address')) ?>" class="input-text validate-email required-entry" />
</div>
</li>

Puis ajouter à la suite le code suivant, qui va rajouter un nouveau champ de vérification email
Notez bien la classe validate-confirm-email qui va correspondre à la règle de validation que nous allons créer.…

Pas de commentaires

Magento : Annuler et supprimer des avoirs

Par défaut dans la solution magento, il n’est pas possible d’annuler ni de supprimer les avoirs. ( C’est logique au niveau comptable )
Cette fonctionnalité peut toutefois être pratique dans le cas d’une erreur de manipulation

Nous allons donc voir comment faire pour ajouter cette fonctionnalité à Magento en créant un module.
Celui-ci va ajouter 2 boutons “Annuler” et “Supprimer” dans la page de gestion d’un avoir.

Credit Memo Cancel delete

Je ne vais détailler ici que le fonctionnement logique du module.
Vous pourrez trouver l’intégralité des sources et le module sur github : https://github.com/nenes25/magento_creditMemo

L’objectif de ce module étant de ne pas réaliser de surcharge, nous allons utiliser les observers.
Celui qui nous intéresse adminhtml_widget_container_html_before

Dans le fichier de configuration de notre module il faut donc ajouter un observer sur cet événement via le code suivant

<global>
..
 <events>
            <adminhtml_widget_container_html_before>
                <observers>
                    <add_creditmemo_buttons>
                        <class>hhennes_creditmemo/observer</class>
                        <method>addCreditMemoButtons</method>
                    </add_creditmemo_buttons>
                </observers>
            </adminhtml_widget_container_html_before>
 </events>
...
2 commentaires

Prestashop : Utiliser l’arbre des catégories dans le formulaire d’administration d’un module

Si vous souhaitez utiliser l’arbre des catégories de Prestashop dans le formulaire d’administration d’un module.

Voici un petit snippet qui vous permettra de le faire facilement avec Prestashop 1.6 et supérieurs lors de la déclaration des paramètres de votre formulaires :
( Cette solution est nativement implémentée )

 $fields_form = array(
            'form' => array(
                //Entête du formulaire
                'legend' => array(
                    'title' => $this->l('Form Name'),
                    'icon' => 'icon-cogs'
                ),
                //Champs du formulaire
                'input' => array(
                    array(
                        'type' => 'categories', //Type de champ à mettre à catégories
                        'label' => $this->l('Category'),
                        'name' => 'category_tree',
                        'desc' => $this->l('Select category to display'),
                        'required' => true,
                        'empty_message' => $this->l('Please fill the category id'),
                        //Informations spécifiques de l'arbre
                        'tree' => array(
                            'id' => 'category_tree',
                            'selected_categories' => $selected_categories) // Catégorie sélectionnées ( variable array )
                        ),
                    ),  
                ),
                //Boutons de soumission du formulaire
                'submit' => array(
                    'title' => $this->l('Save'),
                    'class' => 'button btn btn-default pull-right',
                )
            ),
        );

Le rendu obtenu est ensuite le suivant :

Catégories admin form prestashop

2 commentaires


Compte Github