hardandweb Posted November 28, 2013 Share Posted November 28, 2013 (edited) Hola. Estoy intentando en un prestashop que en función del idioma de carga si es español o ingles muestre un contenido diferente. Estoy haciendo pruebas del estilo: <?php if ($lang_iso == ‘es’) { <ul id="tmheaderlinks"> <li><a href="XXXX" class="active">XXXXX</a></li> <li><a href="xxxxxx" class="active">xxxxxx</a></li> </ul> } elseif ($lang_iso == ‘en’) { <ul id="tmheaderlinks"> <li><a href="XXXX" class="active">INGLES</a></li> <li><a href="xxxxxx" class="active">INGLES</a></li> </ul> } else { otro } ?> Pero no me funciona correctamente. Alguien me podría ayudar por favor? Gracias. Edited November 30, 2013 by hardandweb (see edit history) Link to comment Share on other sites More sharing options...
Rolige Posted November 28, 2013 Share Posted November 28, 2013 Un contenido diferente, que clase de contenido o que tanto?, y porque mejor no lo haces en smarty. Saludos. Link to comment Share on other sites More sharing options...
hardandweb Posted November 28, 2013 Author Share Posted November 28, 2013 Basicamente se trata de un menu con enlaces, que quiero que rn español se vean unos y en ingles otros, y por diseño los tengo que poner fijos. Perdon por mi ignorancia pero a que te refieres por smarty? Gracias Un contenido diferente, que clase de contenido o que tanto?, y porque mejor no lo haces en smarty. Saludos. Link to comment Share on other sites More sharing options...
Rolige Posted November 28, 2013 Share Posted November 28, 2013 Con esto te daras una idea, ve al archivo: themes/tu_tema_activo/header.tplBusca: {$HOOK_HEADER}Justo antes de esta palabra escribe:{if $lang_iso == 'es'} <strong>Estoy en idioma ingles</strong>{elseif $lang_iso == 'en'} <strong>Estoy en idioma ingles</strong>{else} <strong>No se en que estoy</strong>{/if}Guarda y actualiza tu pagina, observaras que apareceran estos textos en la parte superior izquierda de tu sitio dependiendo de el idioma que elijas.Saludos. Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted November 28, 2013 Share Posted November 28, 2013 (edited) Vamos a ver. Antes de ir haciendo cosas no recomendadas. Es cierto que con: {if $lang_iso == 'codigo_iso_del_idioma'} {/if} puedes cargar una cosa para un idioma y otra para otra idioma. Pero también es cierto, que si por ejemplo en tu caso particular, que veo que son textos o enlaces, si tu colocas un texto en un tpl de la plantilla y quieres que sea traducible,colócalo así: {l s='Palabra Clave'} y luego desde Localización -> Traducciones -> Modificar Bloque Traducciones -> Traducciones del Front-Office, traduces esa palabra: Palabra Clave para los distintos idiomas. (Esa es la forma recomendada, no tienes porque ir haciendo "if" en un tpl, imaginate que tienes 80 idiomas, no tendria sentido hacer una condicional para 100) Si es un tpl de un modulo, el literal ls, se colocaria asi: {l s='Palabra Clave' mod='nombre_modulo'} ---- Si por ejemplo, nos referimos a un enlace, por ejemplo a un enlace de un contenido creado en la pestaña Preferencias -> CMS, pues dentro del "href" del "a", colocarias: {$link->getCMSLink('id_del_cms', null)} Si es un enlace, por ejemplo al formulario de contacto, el enlace la forma correcta, de colocarlo en el tpl, el href, seria: {$link->getPageLink('contact', true)|escape:'html'} etc.... Lo que te quiero decir, es que no tienes que abusar de las condicionales en el "tpl", aunque haciendo condiciones con el lang_iso te funcione en el tpl, ahí maneras correcta de hacerla, sin hacer chapuzas. Edited November 28, 2013 by Sergio Ruiz (see edit history) 2 Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted November 28, 2013 Share Posted November 28, 2013 (He actualizado mi mensaje) Link to comment Share on other sites More sharing options...
hardandweb Posted November 30, 2013 Author Share Posted November 30, 2013 Gracias por los aportes. Me han ido genial!!! Link to comment Share on other sites More sharing options...
Recommended Posts