Jump to content

[RESOLU] Remplacer le choix des langues par du texte au lieu des drapeaux


Recommended Posts

Bonjour à tous,

 

Je crée ce nouveau post pour vous poser une question qui reste pour l'instant sans réponse malgré mes recherches. Comme l'indique le titre, je souhaiterais réaliser une modifications dans le choix des langues pour l'utilisateur. Je voudrais remplacer les drapeaux présents dans le thème par défaut de PrestaShop par du texte : "Français" et "anglais". Etant au Canada, cette petite modification à beaucoup d'importance.

 

Je suis sous PrestaShop 1.5.4 et j'utilise le thème par défaut que j'ai adapté.

 

Je remercie d'avance la communauté de ce forum :)

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

Hello :)

 

Il va falloir pour cela modifier le template du module blocklanguages.

 

Pour faire les choses proprement, dans votre thèmes, vous créer dans le dossier modules, un dossier blocklanguages, dans lequel vous copier le blocklanguages.tpl que vous allez chercher dans /modules/blocklanguages/blocklanguages.tpl

De cette façon, en cas de mise à jour, vous ne perdez pas votre modification.

 

 

Ensuite, pour afficher le texte au lieu du drapeau, ligne 50 :

 

<img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code}" width="16" height="11" />

 

pourrait être remplacé par

 

<span class="language-name">{$language.name}</span>

 

Un {$language|@var_dump} vous donnera tout ce que contient la variable $language et donc ce que vous pouvez utiliser :)

 

Seb.

Link to comment
Share on other sites

Merci pour ta réponse ! (encore une fois :) )

 

Je ne suis pas très bon en codage du coup, j'ai effectue la manipulation en copiant le fichier blocklanguages.tpl dans le dossier blocklanguages de mon thème et j'ai fait la modification que tu m'as recommandé a la ligne 50 de ce fichier. Le problème c'est que je ne comprends pas comment configurer l'affichage en front office ... Pourrais tu m'expliquer ?

Je te fais une copie d'écran de ce que cela me donne en modifiant le fichier. Dessus, on peut déjà voir que du texte est apparu au lieu des drapeaux quand on passe la souris sur la zone (bonne chose !)

post-561388-0-82208800-1374854305_thumb.jpg

Link to comment
Share on other sites

Le reste ce n'est que du CSS :)

vous devez avoir un fichier .css correspondant (soit dans le dossier du module, mais peut être surcharger dans le dossier du thème)

Il suffirait d'élargir la zone noir, et de passer les textes en blanc.

 

Essayer, sinon j'essayerais d'être plus précis :)

Link to comment
Share on other sites

Ha si, bien sur :)

Juste au dessus de la 1ere modification

 

{if $language.iso_code == $lang_iso}
 <p class="selected_language">
  <img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code}" width="16" height="11" />
 </p>
{/if}

 

doit être remplacé par

 

{if $language.iso_code == $lang_iso}
 <p class="selected_language">
  {$language.name}
 </p>
{/if}

Link to comment
Share on other sites

Parfait, cela marche à merveille ! Je te remercie beaucoup :)

Juste une dernière petite question, comme tu peux le voir dans la copie d'écran, il y a le nom du pays juste à coté du choix de la langue. Est-il possible de l'enlever et d'avoir uniquement Français et English ?

Encore merci !

post-561388-0-33279000-1374862077_thumb.png

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

Normalement, si je ne dis pas de bétises, {$language.name} ne doit afficher que le nom de la langue.

Il est possible donc qu'en back-office, tes langues soient nommée comme cela : "French - Francais".

Il te suffit alors de les renommer :)

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...