Ver Mensaje Individual
  #14 (permalink)  
Antiguo 30/12/2013, 05:48
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: php idioma: cómo ocultar/mostrar botón de idioma

Puedes usar el cascading de css para evitarte algunos ifs en php
Código HTML:
Ver original
  1. <style type="text/css">
  2. ..
  3. .idioma_en .not_when_language_en, .idioma_fr .not_when_language_fr, ... {display:none}
  4. .when_language_fr, .when_language_en {display:none}
  5. .idioma_en .when_language_en, .idioma_fr .when_language_fr {display:block}
  6. ..
  7. <body class="idioma_<php echo $_GET['lang'];?>">
  8. ...
  9.     <li class="not_when_language_en"><a ...>English</a></li>
  10.     <li class="not_when_language_fr"><a ...>French</a></li>
  11. ...
  12. </body>
Es decir, si al body le añades una clase que indique el idioma actual, y a cualquier cosa que NO deba mostrarse cuando el lenguaje actual sea el de un cierto idioma, le añades la clase "not_when_language_xx", se ocultarán.
Lo inverso (que se muestre cuando el lenguaje actual=='xx'), se consigue con las clases "when_language_xx"

Usar esto también significa que, en realidad, la página carga siempre todos los recursos necesarios para mostrar la página en todos los idiomas, y después los oculta.Si esos recursos son pesados (grandes imágenes,etc), es mejor hacer el "if" por el lado del servidor, para no descargarlos siquiera.