Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

como pasar variables de un archivo .tpl a una funcion php

Estas en el tema de como pasar variables de un archivo .tpl a una funcion php en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola estimados de FDW, Tengo un problemita con la aplicacion prefabricada llamada arfooo (Web oficial: http://www.arfooo.com ), sucede que este script prefabricado sirve para hacer ...
  #1 (permalink)  
Antiguo 16/08/2012, 12:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
como pasar variables de un archivo .tpl a una funcion php

Hola estimados de FDW,
Tengo un problemita con la aplicacion prefabricada llamada arfooo (Web oficial: http://www.arfooo.com), sucede que este script prefabricado sirve para hacer directorios web y genera archivos .tpl que luego se convierten en html en le lado del cliente.
Y tengo un problema en el archivo details.tpl que es el encargado de mostrar los detalles de los sitios web, lo que deseo mostrar es un video de youtube donde la direccion url del video esta guardado en la variable: {$site.RssSite}
En esta variable se guarda correctamente la direccion del video el problema es que lo que deseo hacer es tomar esta variable y manejarlo en php.
Segun entendi para agregar codigo php en ese archivo .tpl debo hacer:

{php}
//codigo php
{/php}

Entonces en resumen lo que deseo hacer es

{php}
function TomarvariableymostrarVideo()
{
// tomar la variable {$site.RssSite} y realizar la funcion para poder mostrar el video youtube correctamente

}

{/php}

Ya tengo la funcion para mostrar acortar la direccion url y mostrar el video de youtube correctamente, el problema es que no puedo captar la variable {$site.RssSite} como hacer eso ??? como tomar esa variable y pasarla a codigo php ????

Ayuda porfavor me estoy volviendo loco y no puedo resolver esto, saludos cordiales

Y gracias desde ya
  #2 (permalink)  
Antiguo 16/08/2012, 13:26
 
Fecha de Ingreso: enero-2012
Ubicación: Caracas
Mensajes: 75
Antigüedad: 12 años, 2 meses
Puntos: 21
Respuesta: como pasar variables de un archivo .tpl a una funcion php

el codigo del .tpl parce smarty,
el video que vas a mostrar, lo vas a mostrar en esa misma pagina, o debes enviarlo a otro archivo, a lo que me refiero es que puedes hacerlo sin necesidad de las etiquetas {php}{/php}

pero bueno el asunto es que php no maneja "." como apuntador de objetos,
usa "->", primero intenta hacer un var_dump($site) en la etiqueta php que agregaste, para ver si es un objeto o un arreglo
  #3 (permalink)  
Antiguo 16/08/2012, 13:49
 
Fecha de Ingreso: enero-2012
Ubicación: Caracas
Mensajes: 75
Antigüedad: 12 años, 2 meses
Puntos: 21
Respuesta: como pasar variables de un archivo .tpl a una funcion php

ok me descargue el script del que hablas..., aunque no encuentro la seccion de la que hablas
....
definitivamente es smarty...
hacer esto {$site.RssSite} es como hacer en php---> echo $site["RssSite"];
  #4 (permalink)  
Antiguo 16/08/2012, 15:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: como pasar variables de un archivo .tpl a una funcion php

Gracias beeman00 por tu pronta respuesta, y si el video deseo mostrarlo directamente en los detalles de los sitios agregados (details.tpl), y puede ser que sea smarty la verdad no se, recurri a este foro porque es en español y en el foro de arfooo esta todo en frances ademas no te permiten registrarte facilmente hay que esperar a que el moder te habilite.

Como te decia esa variable ya esta creada y funciona bien no se si el nombre es exactamente asi el hecho es que es de la forma {$site.RssSite} y bueno intentare hacer como me lo aconsejaste y cualquier cosa te aviso.

Pronto seguro tendran noticias mias je
  #5 (permalink)  
Antiguo 16/08/2012, 22:20
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
Pregunta Respuesta: como pasar variables de un archivo .tpl a una funcion php

Esta es mi funcion en php y basicamente lo que hace es cortar la direccion url del video (la direccion url se encuentra en la variable {$site.rssFeedOfSite}) de youtube para obtener los ultimos codigos del video que luego ese codigo servira para embeber el video en mi sitio.

{php}

$url = $site["rssFeedOfSite"];
if (preg_match('@.*youtube.*(v=|/v/)([^&/]*).*@i', $url, $m)) {
$videoid= $m[2]; //Código del video
} else if (preg_match('@.*youtu\.be/([^/]*)@i', $url, $m2)) {
$videoid= $m2[1]; //Código del video
}
echo $videoid;
{/php}

Esta funcion la cambie de acuerdo a lo que me recomendo beeman00 pues el decia que {$site.rssFeedOfSite} es como hacer en php---> echo $site["rssFeedOfSite"]; por eso en mi funcion hice lo que hice pero me da error.

Hice como me recomendo beeman00 y me da el error siguiente en el archivo details.tpl:

Código:
/diroo-anunciosclasificados/enlaces-y-paginas/video-links/nenas-sexy-video-nuevo-s35.html
http://www.anunciosypaginas.com/diroo-anunciosclasificados/tag-nenas-sexy-t11-p1.html
  (8) Undefined variable: site   class.template.php(535) : eval()'d code   line 452     17-8-12   1:05

FrontController->dispatch() # line   18, file: /home/sn000220/public_html/diroo-anunciosclasificados/index.php
  Controller->render() # line  225, file: /home/sn000220/public_html/diroo-anunciosclasificados/core/FrontController.php
    TemplateLiteView->render(Object:SiteController) # line  167, file: /home/sn000220/public_html/diroo-anunciosclasificados/core/Controller.php
      Template_Lite->fetch("site/details.tpl") # line   77, file: /home/sn000220/public_html/diroo-anunciosclasificados/views/TemplateLiteView.php
        Template_Lite->_fetch_compile("site/details.tpl", null) # line  360, file: /home/sn000220/public_html/diroo-anunciosclasificados/components/template_lite/class.template.php
          eval() # line  535, file: /home/sn000220/public_html/diroo-anunciosclasificados/components/template_lite/class.template.php
Ayuda porfavor !!! alguien puede darme una ayudita!!! y vos beeman ???
  #6 (permalink)  
Antiguo 17/08/2012, 08:03
 
Fecha de Ingreso: enero-2012
Ubicación: Caracas
Mensajes: 75
Antigüedad: 12 años, 2 meses
Puntos: 21
Respuesta: como pasar variables de un archivo .tpl a una funcion php

Lo primero que te sugeri fue que hicieras un va_dump de la variable $site en el tpl, esto lo puedes hacer asi:
Código HTML:
Ver original
  1. <div>{$site|var_dump}</div>
  2. <!--fuera de las etiquetas {php}{/php}-->
esto para verificar si la variable es un objeto o un array, ya que el tratamiento es diferente, supongo que eso lo sabes.

sin necesidad de abrir {php} puedes hacer lo siguiente:

Código HTML:
Ver original
  1. {if '@.*youtube.*(v=|/v/)([^&/]*).*@i'|preg_match:$site.rssFeedOfSite:$m}
  2.    {assign var=$video_id value=$m[2]}{*Codigo del video*}
  3. {elseif '@.*youtu\.be/([^/]*)@i'|preg_match:$site.rssFeedOfSite:$m2}
  4.    {assign var=$video_id value=$m2[1]}{*Codigo del video*}
  5. {/if}
  6.  
  7. {$video_id}

esto es tu código traducido.

Última edición por beeman00; 17/08/2012 a las 08:04 Razón: completando...
  #7 (permalink)  
Antiguo 17/08/2012, 15:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
Pregunta Respuesta: como pasar variables de un archivo .tpl a una funcion php

muchas gracias beeman00 sos un genio yo no se casi nada de Smarty hoy a la noche (hora de Argentina) probare lo que me estas recomendando ahora la pregunta es: si la variable {$video_id} no provocara error ???? pues esta variable no estaria definida desde la plantilla del arfoo, aunque como te dije soy novato es Smarty y si todo esta ok lo proximo que debo hacer es mostrar mi video y segun lo que tu dices se haria de la siguiente forma:

Código HTML:
<iframe width="420" height="315" src="http://www.youtube.com/embed/{$video_id}" frameborder="0" allowfullscreen></iframe> 
Que es lo que finalmente queria hacer.

Espero que salga todo ok porque ya me duele la cabeza intentando resolver esto Gracias amigo beeman00

Pronto mas noticias mias
  #8 (permalink)  
Antiguo 19/08/2012, 18:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 270
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: como pasar variables de un archivo .tpl a una funcion php

Puse este codigo en details.tlp como me aconsejo berman000 y me dio error, este es el codigo que puse:

Código HTML:
{if '@.*youtube.*(v=|/v/)([^&/]*).*@i'|preg_match:$site.rssFeedOfSite:$m}
       {assign var=$video_id value=$m[2]}{*Codigo del video*}
    {elseif '@.*youtu\.be/([^/]*)@i'|preg_match:$site.rssFeedOfSite:$m2}
       {assign var=$video_id value=$m2[1]}{*Codigo del video*}
    {/if}
     
    {$video_id}

Y este es el error que me da:

Parse error: syntax error, unexpected T_STRING in /home/sn000220/public_html/diroo-anunciosclasificados/components/template_lite/class.template.php(535) : eval()'d code on line 465

Y tambien me da error cuando hago
<div>{$site|var_dump}</div>

Alguien podra ayudarme

Saludos cordiales y gracias desde ya

Etiquetas: funcion, html, php, tpl, variables, aplicaciones
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 02:10.