Foros del Web » Programando para Internet » PHP »

Php y .tpl

Estas en el tema de Php y .tpl en el foro de PHP en Foros del Web. Buenos días foreros. Tengo una gran duda, que no se como solucionar. Dispongo de una web creada a base de archivos .tpl, y nunca he ...
  #1 (permalink)  
Antiguo 29/09/2010, 04:57
 
Fecha de Ingreso: julio-2010
Mensajes: 116
Antigüedad: 14 años, 3 meses
Puntos: 0
Php y .tpl

Buenos días foreros.

Tengo una gran duda, que no se como solucionar.

Dispongo de una web creada a base de archivos .tpl, y nunca he tratado con sitios realizados de este modo.

Se me plantea el problema siguiente:

Quiero realizar una consulta a una base de datos mysql

Según el enlace que pinche de un listado, sea una consulta algo distinta, y que se abra en una pagina, que en principio siempre sera la misma.

Intenté poner código php en el tpl, pero no me lo ha reconocido.

Espero haberme explicado minimamente bien.

Muchas gracias
  #2 (permalink)  
Antiguo 29/09/2010, 06:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Php y .tpl

La idea es separar la lógica de PHP de la plantilla. Coloca solo aquellas cosas que muestren el resultado en el archivo .tpl. No sé como implementa el mostrar el código el archivo .tpl, si es con PHP integrado, o si es con alguna etiqueta para luego ingresar el resultado. Si es la primera, solo es cuestión de usar include o require. Si es la segunda, puedes usar file_get_contents para capturar toda la plantilla y luego con preg_replace o str_replace haces los cambios.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 29/09/2010, 08:08
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Php y .tpl

Código PHP:
<?php
/**
 *
 * Sistema de Templates que enlaza PHP con las plantillas (MVC)
 *
 * Clase encargada de tomar los datos enviados desde
 * PHP en forma de array y distribuirlos sobre un archivo Template
 * El sistema toma dentro del template las palabras entre {}
 * y las reemplaza por el valor con la llave respectiva de un array asociativo
 *
 * @category MVC
 * @package H Framework
 * @subpackage Library Classes
 * @copyright Copyright (c) 2010, Hidek1 [[email protected]]
 * @license http://creativecommons.org/licenses/by-sa/2.0/cl/
 * Atribución-Licenciar Igual 2.0 Chile.
 * @since 0.1a
 *
 */

class Template
{
    
    private 
$_filename '';

    
/**
     *
     * Obtiene la ruta del archivo Template.
     *
     * @param string $filename
     * 
     */
    
public function __construct($filename)
    {
        if (
file_exists($filename)) {
            
$this->_filename $filename;
        } else {
            throw new 
Exception("Template no encotrado.");
        }
    }

    
/**
     *
     * Devuelve el template procesado con sus variables correspondientes
     * 
     * @param array $matriz
     * @return string
     *
     */
    
public function render(array $matriz = array())
    {
        if (empty(
$matriz)) {
            return 
file_get_contents($this->_filename);
        } else {
            foreach (
$matriz as $key => $value) {
                $
$key $value;
            }
            
$template file_get_contents($this->_filename);
            
$template str_replace(array('\\''\''), array('\\\\''\\\''), $template);
            
$template preg_replace('/{([a-z]\w+?)}/i'"'.$$1.'"$template);
            eval(
"\$template = '$template';");
            return 
$template;
        }
    }
}
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 29/09/2010, 09:02
 
Fecha de Ingreso: julio-2010
Mensajes: 116
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Php y .tpl

hola de nuevo, gracias por el interes

ciertamente no se muy bien como funciona

la pagina desde la que quiero hacer los enlaces para que se realicen las consultas tiene el siguiente formato:

{$modules.head}

--------- codigo html

{$modules.footer}


luego, hay otro documento formato php que hace lo siguiente

<?php
class ProgramaController extends Controller
{
protected $id_functionality = __CLASS__;

protected function build( )
{
$this->setLayout( 'programa' );
}

public function loadModules()
{
$modules['head'] = 'headController';
$modules['footer'] = 'footerController';

return $modules;
}
}


?>


es en este segundo documento donde debo poner las consultas?

gracias
  #5 (permalink)  
Antiguo 29/09/2010, 11:10
 
Fecha de Ingreso: julio-2010
Mensajes: 116
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Php y .tpl

he intentado meterlo a saco dentro del documento extension php, pero no ha ido demasiado bien

Etiquetas: tpl
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 14:18.