traducción (2)


Prestashop: Añadir un texto con traducción.

Cuando estamos programando en Prestashop una tienda personalizada es muy frecuente tener que añadir nuevos textos que son requeridos por el cliente.

En los archivos .tpl de la plantilla que se utilice deberemos añadir los nuevos textos de la siguiente forma:

{l s='disponible'}

Añadiendo este trozo de código en la plantilla, automáticamente se crea una nueva variable de idioma con el nombre de “disponible”. Esta variable estará disponible en las traducciones del Front Office de la administración del Prestashop.

En la asignación de s va el valor de nuestra variable. Hay que tener en cuenta que no acepta acentos ni caracteres especiales. Si quieres añadir algún texto con acentos o caracteres especiales deberás crearlos sin acentos e ir a traducciones a ponérselo.

Para los módulos es algo distinto. La única diferencia es que deberemos añadir a que módulo pertenece en el archivo .tpl del módulo de la siguiente forma:

{l s='disponible' mod='nombreModulo'}

Entonces, automáticamente dispondremos automáticamente en traducciones de los módulos de la administración Prestashop esta nueva variable para traducir en los idiomas necesarios.




Prestashop: Cambiar orden idioma

Por defecto prestashop muestra los idiomas de nuestra tienda virtual ordenados alfabeticamente, para cambiar este orden es necesario cambiar el function que muestra el listado de idiomas.

El modulo que se encarga de esto, en la plantilla elation-liquid, es eboptions. Tendremos que modificar el archivo ebotions.php (/modules/eboptions):

Encontraremos la funcion hookTop

function hookTop($params)
{
global $smarty, $cookie, $cart;
$languages = Language::getLanguages();
$currencies = Currency::getCurrencies();
if (!sizeof($languages))
return ”;
 asort($currencies);
$smarty->assign(‘currencies’, $currencies);
$smarty->assign(‘languages’, $languages);

return $this->display(__FILE__, ‘eboptions.tpl’);
}

Añadiremos asort($currencies); Tiene que estar antes del assign y el retun que es cuando lo pasa al tpl.

asort es una funcion para ordenar array respetando los indices.

$curriencies es el array que contiene los valores que a obtenido con la funcion getCurrencies(), con los diferentes idiomas.

Podriamos ordenar los idiomas usando $languages por $currencies