Foros del Web » Programando para Internet » PHP »

Include de PHP en un archivo TPL

Estas en el tema de Include de PHP en un archivo TPL en el foro de PHP en Foros del Web. Hola, antes que nada si use el buscador y hay muchos temas al respecto.. creo que los he leido todos hehehe pero ninguno se apega ...
  #1 (permalink)  
Antiguo 06/05/2009, 18:07
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Include de PHP en un archivo TPL

Hola, antes que nada si use el buscador y hay muchos temas al respecto.. creo que los he leido todos hehehe pero ninguno se apega a mi problema

Casi todos los casos son para TPL en smarty o phpbb, y mi aplicacion no parece usar ninguno de ellas.

Por lo que:

Código PHP:
{php{/php
No funciona.

Tambien intente meter un htaccess con:

Código PHP:
AddHandler application/x-httpd-php .tpl 
y con esto otro:

Código PHP:
AddHandler x-httpd-php5 .php .tpl 
Y nada...

Revise mi archivo php y viene esto:

Código PHP:
$tpl->assign("cost"$price);
$tpl->assign("value"$value);
$tpl->assign("issue"$issue); 
En mi desesperacion intente algo tonto lo se, pero que al menos me hizo ver algo diferente.

Código PHP:
$tpl->assign("cost"$price);
$tpl->assign("value"$value);
$tpl->assign("issue"$issue);
$tpl->assign("php"php1);
$tpl->assign("/php"php2); 
Con esto logre al menos que los tags
Código PHP:
{php{/php
Aparecieran aunque me dio un codigo asi
Código PHP:
php1 echo( "hola" php2 
Al menos me imprimio algo que mas o menos pudiera llevarme a lo que buscaba

Entonces intente esto.

Código PHP:
$tpl->assign("cost", $price);
$tpl->assign("value", $value);
$tpl->assign("issue", $issue);
$tpl->assign("php", <?php);
$tpl->assign("/php"?>);
El resultado obviamente fue desastrozo... hehe

Bueno, ahi esta mi caso.. ojala alguien me pudiera guiar un poco con este asunto, lo que quiero es meter este include en mi tpl

Código PHP:
 $page_id 265  ;
include 
'rate/display_ratingNew.php'
Alguna idea de como puedo lograr esto?
  #2 (permalink)  
Antiguo 06/05/2009, 18:17
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 18
Respuesta: Include de PHP en un archivo TPL

seguro que tu aplicación tiene alguna libreria(clases) que te permite reemplazar las variables que se encuentran en el .tpl, entonces solo tienes que pasarle los valores adecuados a cada variable para que la clase te parsee el .tpl.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #3 (permalink)  
Antiguo 06/05/2009, 18:44
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Podrias ser mas especifico???
Como se si tengo alguna libreria que me me permita hacer eso?
  #4 (permalink)  
Antiguo 06/05/2009, 19:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Include de PHP en un archivo TPL

Primero averigua que clase de libreria estas usando, checa si es Smarty, o NokTemplate o que libreria y luego averigua si alguna de ellas te permite usar codigo PHP dentro o si es forzoso asignarlo por PHP.
  #5 (permalink)  
Antiguo 06/05/2009, 19:46
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Bueno, akl parecer no usa ninguna de ellas.. al menos no hay ninguna mencion de ninguna en todo el codigo de todos los archivos...

y ahora?
  #6 (permalink)  
Antiguo 07/05/2009, 05:53
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 18 años, 10 meses
Puntos: 6
Respuesta: Include de PHP en un archivo TPL

Uff!!! Necesito una bola de cristal... A ver, la extensión .tpl es la que se "suele" utilizar para plantillas (templates). En una aplicación, estas plantillas han de ser interpretadas por código PHP. Este código puede formar parte de la propia aplicación o de una librería externa (smarty, noktemplate, otras...). Si no sabemos quién se encarga de interpretar los ficheros TPL, difícilmente podremos contestar a la pregunta inicial.

¿Y ahora? Pues averigua como se está haciendo la interpretación de las plantillas, y a partir de ahí podremos ayudarte. Si no, la verdad, lo veo complicado ;)
  #7 (permalink)  
Antiguo 07/05/2009, 10:31
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Si bueno, lo de los archivos TPL lo sabia.. lo que no se es que libreria externa esta usando, es un script que encontre que al parecer ya no tiene soporte, ni seguimiento..

Fijandome bien en mi archivo class/template.class.php
veo que esta usando Template Power, http://templatepower.codocad.com/index.php

Estuve revisando ya el manual, pero no encontre lo que buscaba... alguna ayuda?
  #8 (permalink)  
Antiguo 07/05/2009, 11:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Include de PHP en un archivo TPL

Mmmm no creo que tenga esa opcion, ahora viene mi pregunta, la idea de usar templates es que toda la parte de logica de tu app este en el archivo PHP y en el template solo lo "visual" porque requieres de poner codigo PHP en tu template?

Saludos.
  #9 (permalink)  
Antiguo 07/05/2009, 12:33
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Uso un script de noticias (Cute NEws) que quiero mostrar en la pagina inicial.. la unica forma de meterle diseño a la pagina donde quiero mostrar las noticias es en el archivo .TPL, ademas que quiero meter varios otros includes en php.


Código PHP:
<?PHP
$category 
"1";
$number "10";
include(
"noticias/show_news.php");
?>
  #10 (permalink)  
Antiguo 07/05/2009, 13:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Include de PHP en un archivo TPL

Mmmm puedes usar funciones de control de salida:
Código php:
Ver original
  1. <?php
  2. $category = "1";
  3. $number = "10";
  4. include("noticias/show_news.php");
  5. $news = ob_get_clean();
  6.  
  7. $tpl->assign('noticias', $news);

Saludos.
  #11 (permalink)  
Antiguo 07/05/2009, 16:35
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Pues no.. no funciona :(
  #12 (permalink)  
Antiguo 07/05/2009, 16:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Include de PHP en un archivo TPL

Que error te marca? Eso lo debes de hacer en tu index o donde quieras mostrar la noticia.

Saludos.
  #13 (permalink)  
Antiguo 07/05/2009, 16:54
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Lo debo de hacer en el archivo php o en el tpl?
  #14 (permalink)  
Antiguo 07/05/2009, 17:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Include de PHP en un archivo TPL

En el PHP, que es donde asignas las variables al template.
  #15 (permalink)  
Antiguo 08/05/2009, 11:59
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

ok, meti el codigo

Código:
<?php
$category = "1";
$number = "10";
ob_start();
include("noticias/show_news.php");
$news = ob_get_clean();
 
$tpl->assign('noticias', $news);
?>

Y me pone este error:

Fatal error: Call to a member function assign() on a non-object in /home/ggah178/public_html/bd/event.php on line 8

Aun si no me marcara error, como lo mostraria si todo lo que se ve es atraves de los TPL no? algo tendria que poner en el .tpl?
  #16 (permalink)  
Antiguo 18/05/2009, 15:24
 
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Han pasado algunos dias de este tema.. sigo necesitando algun consejo... Alguien?

Recordando que se usa http://templatepower.codocad.com/index.php en estos tpl
  #17 (permalink)  
Antiguo 18/05/2009, 15:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Include de PHP en un archivo TPL

Verifica que $tpl tenga la variable correcta con la que asignas, la idea es que en el index.php donde muestras todo, donde tienes tus demás assigns hagas ese código.

Saludos.
  #18 (permalink)  
Antiguo 18/05/2009, 16:14
 
Fecha de Ingreso: mayo-2006
Mensajes: 58
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

Hola, yo uso smarty, lo primero es crear tu archivo php en él llamas a smarty

Código PHP:
include_once(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty
Después las variables que vayas a ocupar en los tpl's las mandas asi:

Código PHP:
$hola"Hola Mundo";
$smarty->assign("variable1",$hola
Luego en la parte final de tu script php le dices que vas a mostrar la plantilla asi:

Código PHP:
$smarty->display("nombre_archivo.tpl"
Y en el archivo tpl vas a usar las variables asi:

Código:
<caption>{$variable1}</caption>
Por lo tanto la programación la haces en el archivo php, y en los tpl pones el HTML que vas a usar para tu template. Espero te srva esto.

Salu2
  #19 (permalink)  
Antiguo 18/05/2009, 16:40
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Include de PHP en un archivo TPL

el event.php es el que muestra el tpl en cuestión?

en este php deberias tener algo como:
Código PHP:
<?php
include_once( "./class.TemplatePower.inc.php" );//esta línea debería estar obligatoriamente

$tpl = new TemplatePower"./tuarchivo.tpl" );//esta línea debería estar obligatoriamente
$tpl->prepare();//esta línea debería estar obligatoriamente

$tpl->assign"name""Ron" );//no necesariamente estas líneas, sino algo similar

$tpl->printToScreen();
?>
Por lo que tu codigo php:
Código PHP:
<?php
$category 
"1";
$number "10";
ob_start();
include(
"noticias/show_news.php");
$news ob_get_clean();
 
$tpl->assign('noticias'$news);
?>
Debería ir justo debajo de la línea:
Código PHP:
$tpl->assign"name""Ron" ); 

Última edición por radarcbafacebook; 18/05/2009 a las 16:42 Razón: mayor explicación
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 03:28.