Como poner banderas en el bloque de idiomas de Prestashop

Prestashop ha incluído muchos cambios en la versión 1.6, y buenos. Pero una de las cosas que ha quitado tanto en la plantilla por defecto, como en la mayoría de las plantillas, es que el selector de idiomas tenga banderas.

Hay gente que lo prefiere así, pero también hay gente que prefiere las banderas, como nos pasó el otro día con un cliente. Hoy os explicamos cómo poner dichas banderas.

Tenemos que modificar el código del fichero blocklanguages.tpl del módulo blocklanguages.  Este módulo estará tanto en la plantilla como en la raíz. Preferiblemente modifica el de tu plantilla (como siempre haz una copia de seguridad antes). El truco lo hemos sacado de aquí, pero en nuestra versión había que hacer alguna modificación (puede que cuando leas el artículo tu tengas que jugar un poco con el código de tu versión también).

banderas

Pongo en rojo las modificaciones del fichero que hemos introducido y en azul lo que hemos comentado para cambiar el texto por la imagen:

<!-- Block languages module -->
{if count($languages) > 1}
<div class="btn-group compact-hidden">
 <a href="#" class="btn-xs dropdown-toggle" data-toggle="dropdown"> 
 {foreach from=$languages key=k item=language name="languages"}
 {if $language.iso_code == $lang_iso}
 <!-- Flag image --> 
 <img style="border: solid 3px #fff; margin-right:5px;" src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code}" width="28" height="22" /><!-- /Flag image -->
 <span class="text-box">{$language.name|truncate:3:'':true|regex_replace:"/\s.*$/":""}</span>
 <span class="fa fa-angle-down"></span> 
 {/if}
 {/foreach}
 </a>
 <ul class="dropdown-menu" role="menu">
 {foreach from=$languages key=k item=language name="languages"}
 <li {if $language.iso_code == $lang_iso}class="selected"{/if}>
 {if $language.iso_code != $lang_iso}
 {assign var=indice_lang value=$language.id_lang}
 {if isset($lang_rewrite_urls.$indice_lang)}
 <a href="{$lang_rewrite_urls.$indice_lang|escape:'html':'UTF-8'}" title="{$language.name}"><!-- Flag image --><img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code}" width="15" height="12" /><!-- /Flag image--><!--{$language.name|regex_replace:"/\s.*$/":""}--></a>
 {else}
 <a href="{$link->getLanguageLink($language.id_lang)|escape:'html':'UTF-8'}" title="{$language.name}"><!-- Flag image --><img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code}" width="22" height="15" /><!-- /Flag image--><!--{$language.name|regex_replace:"/\s.*$/":""}--></a>
 {/if}
 {/if}
 {if $language.iso_code == $lang_iso}
 <!-- <a href="#" title="{$language.name}">{$language.name|regex_replace:"/\s.*$/":""}</a> -->
 {/if}
 </li>
 {/foreach} 
 </ul>
</div>
{/if}
<!-- /Block languages module -->