Foros del Web » Programando para Internet » PHP »

¿Como imprimo las variable &_GET y $_POST de PHP en Smarty?

Estas en el tema de ¿Como imprimo las variable &_GET y $_POST de PHP en Smarty? en el foro de PHP en Foros del Web. Buenas, Tengo el siguiente codigo en Smarty sintax, es un 'language switcher' para una pagina en la que he estado trabajando hace tiempo y ahora ...
  #1 (permalink)  
Antiguo 18/06/2014, 10:51
 
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 46
Antigüedad: 17 años, 7 meses
Puntos: 1
¿Como imprimo las variable &_GET y $_POST de PHP en Smarty?

Buenas,

Tengo el siguiente codigo en Smarty sintax, es un 'language switcher' para una pagina en la que he estado trabajando hace tiempo y ahora se quiere que aparezca en varios idiomas.

El código es de un select box y luce asi :
Cita:
<div class="box-language">
<select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value)">
<option class="txt" value="http://en.mypage.com" selected>English</option>
<option class="txt" value="http://es.mypage.com">Espa&ntilde;ol</option>
<option class="txt" value="http://ru.mypage.com">Pусский</option>
</select>
</div>
Lo que yo quiero es que las lineas "option" en vez de ir a un lugar estático como http://en.mypage.com fueran a la pagina correspondiente en su idioma correspondiente.

Para que quede mas claro


Si me encuentro en http://en.mypage.com/categories y elijo ver la pagina en español quisiera que fuera a http://es.mypage.com/categories. Si estoy en la pagina http://ru.mypage.com/video.php?code=2456 y cambio a ingles, quisiera que fuera a http://en.mypage.com/video.php?code=2456

He intentado utilizar la variable $smarty, mas precisamente $smarty.get.page o $smarty.post.page. Las líneas 'option' quedan asi:

<option class="txt" value="{$smarty.get.page}" selected>English</option>

El problema es que no me imprime nada en el código. Dejando de lado el problema de cambiar 'ru', por 'en' o 'es' en la URL que es algo que veré mas adelante de solucionar parseando la url, por ahora con saber como lograr imprimir la url en la que me encuentro en el codigo me alcanza.

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 18/06/2014, 11:33
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: ¿Como imprimo las variable &_GET y $_POST de PHP en Smarty?

para imprimir $_GET usas $smarty.get.page pero no te va proporcionar lo que esperas ya que no estas enviando ningún parámetro adicional en la url. En su defecto lo que realmente necesitas es acceder a la variable $_SERVER: http://www.smarty.net/docsv2/es/lang...les.smarty.tpl
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 18/06/2014, 12:15
 
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 46
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: ¿Como imprimo las variable &_GET y $_POST de PHP en Smarty?

Estas totalmente en lo cierto, ya estoy implementando una solucion con la variable server que posteare aqui para todos.
  #4 (permalink)  
Antiguo 18/06/2014, 12:54
 
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 46
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: ¿Como imprimo las variable &_GET y $_POST de PHP en Smarty?

Tuve que hacer 3 codigos, uno para el template de cada idioma.

El codigo final quedo asi:

Cita:

RUSSIAN TEMPLATE
<select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value)">
<option class="txt" value="http://en.mypage.com{$smarty.server.REQUEST_URI}">English </option>
<option class="txt" value="http://es.mypage.com{$smarty.server.REQUEST_URI}">Espa&nt ilde;ol</option>
<option class="txt" value="http://{$smarty.server.SERVER_NAME}{$smarty.server.REQUES T_URI}" selected>Pусский</option>
</select>

Cita:
ENGLISH TEMPLATE
<select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value)">
<option class="txt" value="http://{$smarty.server.SERVER_NAME}{$smarty.server.REQUES T_URI}">English</option>
<option class="txt" value="http://es.mypage.com{$smarty.server.REQUEST_URI}">Espa&nt ilde;ol</option>
<option class="txt" value="http://ru.mypage.com{$smarty.server.REQUEST_URI}" selected>Pусский</option>
</select>

Cita:
SPANISH TEMPLATE
<select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value)">
<option class="txt" value="http://en.mypage.com{$smarty.server.REQUEST_URI}">English </option>
<option class="txt" value="http://{$smarty.server.SERVER_NAME}{$smarty.server.REQUES T_URI}">Espa&ntilde;ol</option>
<option class="txt" value="http://ru.mypage.com{$smarty.server.REQUEST_URI}" selected>Pусский</option>
</select>

Etiquetas: post, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:41.