DEVELOPPEUR WEB FREELANCE Expert e-commerce Prestashop depuis 2010

19 déc.
2012

Gérer l'affichage des cases inscription newsletter et offres partenaires

Gérer l'affichage des cases inscription newsletter et offres partenaires

Aujourd'hui je vais vous expliquer comment gérer l'affichage des cases à cocher inscription à la newsletter et offres spéciales partenaires présentes dans le formulaire d'inscription de Prestashop.

Ces cases apparaissent lorsque le bloc newsletter de Prestashop est activé. On peut pourtant vouloir conserver ces cases alors que l'on ne souhaite pas utiliser le bloc newsletter. Inversement il est possible de ne pas souhaiter les conserver alors que l'on utilise bien le bloc newsletter.

Conservation des cases lorsque le bloc newsletter est désactivé

Lorsque le bloc newsletter est désactivé, les cases n'apparaissent pas dans le formulaire d'inscription. Pour les conserver, ouvrez le fichier nommé authentication.tpl de votre thème et remplacez les lignes :

{if $newsletter}
     <p class="checkbox">
          <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == '1'}checked="checked"{/if}>
          <label for="newsletter">{l s='Sign up for our newsletter'}</label>
     </p>
     <p class="checkbox">
           <input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == '1'}checked="checked"{/if}>
          <label for="optin">{l s='Receive special offers from our partners'}</label>
     </p>
{/if}

Par ces lignes :

{*{if $newsletter}*}
     <p class="checkbox">
          <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == '1'}checked="checked"{/if}>
          <label for="newsletter">{l s='Sign up for our newsletter'}</label>
     </p>
     <p class="checkbox">
           <input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == '1'}checked="checked"{/if}>
          <label for="optin">{l s='Receive special offers from our partners'}</label>
     </p>
{*{/if}*}

Comme vous pouvez le constater, il s'agit de commenter la condition {if $newsletter} afin qu'elle ne soit plus interprétée. Cette condition gère l'affichage des cases en fonction de l'activation ou non du bloc newsletter. Le fait de commenter cette condition permet donc de conserver un affichage permanent des cases, que le bloc newsletter soit activé ou non.

 

 

Suppression des cases lorsque le bloc newsletter est activé

Lorsque le bloc newsletter est activé, les cases apparaissent dans le formulaire d'inscription. Pour les supprimer, ouvrez là aussi le fichier nommé authentication.tpl de votre thème et remplacez les lignes vues précédemment par ces lignes :

{*{if $newsletter}
     <p class="checkbox">
          <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == '1'}checked="checked"{/if}>
          <label for="newsletter">{l s='Sign up for our newsletter'}</label>
     </p>
     <p class="checkbox">
           <input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == '1'}checked="checked"{/if}>
          <label for="optin">{l s='Receive special offers from our partners'}</label>
     </p>
{/if}*}

Cette fois il s'agit de commenter l'ensemble de ces lignes afin que cette partie du code ne soit plus du tout interprétée. Les cases ne seront ainsi jamais affichées que le bloc newsletter soit activé ou non.

 

Il est également possible de supprimer les lignes, mais il est préférable de seulement les commenter car cela permet de revenir en arrière si jamais l'on change d'avis. Il suffira alors de décommenter les lignes.

 

Ces cases apparaissent également dans le formulaire d'inscription du One Page Checkout ainsi que dans le formulaire de mise à jour des données personnelles dans le compte client. Vous devrez donc effectuer la même manipulation dans les fichiers order-opc-new-account.tpl et identity.tpl de votre thème.

 

 

Forcer la compilation smarty pour la prise en compte des modifications

Lorsque vous effectuez des modifications dans vos fichiers tpl, la compilation smarty doit être active sinon vos modifications ne sont pas prises en compte. Vous pouvez régler l'activation de la compilation smarty dans l'onglet Préférences de votre back-office.

Auteur de cet article : Sabrina ROUSSEAU

Développeur web freelance spécialiste de la solution e-commerce Prestashop depuis 2010. Créatrice du site web Prestacrea ainsi que des produits qui y sont proposés.

COMMENTAIRES

Aucun commentaire

Cet article a été rédigé il y a plus d'un an. Les commentaires sont fermés.