Foros del Web » Programando para Internet » PHP »

PHP OO seleccion de template

Estas en el tema de seleccion de template en el foro de PHP en Foros del Web. hola soy nuevo en el foro y en esto de programacion php xD asi que vengo para que me orienten ajam mi problema o caso ...
  #1 (permalink)  
Antiguo 06/03/2016, 18:08
 
Fecha de Ingreso: marzo-2016
Mensajes: 3
Antigüedad: 8 años, 8 meses
Puntos: 0
Pregunta seleccion de template

hola soy nuevo en el foro y en esto de programacion php xD asi que vengo para que me orienten ajam mi problema o caso es que tengo ya tengo la carpeta seleccionada de los template el problema es que quiero que me salga una lista de todos los template y seleccionarlos y que se cambien.. alguien que me ayude con el codigo.. :si:
  #2 (permalink)  
Antiguo 06/03/2016, 18:19
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 11 meses
Puntos: 39
Respuesta: seleccion de template

Pues con lo que haz dicho no tengo ni idea de qué hablas.
Para leer directorios esta la función scandir, y con javascript puedes detectar qué opción se ha elegido y con ello cambiar el estilo de la página.
  #3 (permalink)  
Antiguo 06/03/2016, 18:24
 
Fecha de Ingreso: marzo-2016
Mensajes: 3
Antigüedad: 8 años, 8 meses
Puntos: 0
Información Respuesta: seleccion de template

este es mi index

Código PHP:
<?php 
//incluimos la clase 
include('class/clase_plantilla.php'); 
//iniciamos la clase 
$php=new TemplateClass(); 
echo 
$php->Template('VnzCloud/index'); 

require_once 
'class/login.class.php';
    require_once 
'class/functions.php';
    require_once 
'class/imagenes.php';
    require(
"class/resize.php");
    
    
$dir "vistas/";


    
//<! -- ******************** MASTHEAD SECTION ******************** -->
        //<!-- MENU -->
    
include($dir."menu.php");

  
//<!-- CONTENIDO -->
    
echo '<div class="container" id="explore">';
   
$page=($_GET['t']);
    
    
//<!-- VALIDACION -->
    
if(file_exists($dir.$page.".php")) 
    
    
//<!-- MODULO -->
    
include($dir.$page.".php");
    
    
    
//<!-- Pie de Pagina - INDEX -->
    
include($dir."footer.php");
    
?>
Este es el clase_plantilla.php

Código PHP:
<?php 
//esta es la clase 
class TemplateClass
    
//Declaraciones 
     
    
private $_dir           'templates/'//carpeta de los archivos .tpl (los templates) 
    
private $_file_ext        '.php'//formato de los templates, (default = .tpl) 
    
private $_vars        = array(); //variables a transformar 
    
private $_delimiters     = array('{''}'); //limitadores para saber donde tiene que buscar (ejemplo = {ejemplo}) 
     
    
public function Assign($name$value){ 
        if(!
array_key_exists($name$this->_vars)) 
            
$this->_vars[$name] = $value;  
    } 
    public function 
GetAssign($name){ 
        return 
$this->_vars{$name}; 
    } 
    public function 
Template($file){ 
        if( 
$output = @file_get_contents($this->_dir.$file.$this->_file_ext)){  
            foreach(
$this->_vars as $name => $value){ 
                
$output str_replace($this->_delimiters[0].$name.$this->_delimiters[1], $value$output); 
            } 
            return 
$output
        } 
        else  
            die(
"La plantilla no existe.");  
    } 

?>
  #4 (permalink)  
Antiguo 07/03/2016, 13:04
Avatar de No_haynombre  
Fecha de Ingreso: marzo-2016
Ubicación: Zagreb
Mensajes: 67
Antigüedad: 8 años, 8 meses
Puntos: 5
Respuesta: seleccion de template

Puedes tomar un punto de inicio de aqui
Código PHP:
Ver original
  1. http://codepen.io/miroot/pen/nBEqk
de hay vas aprendiendo que se usa para ese objetivo que tienes en mente Tal ves eso te inspire en algo... No son aportes mios cabe resaltar. Suerte
  #5 (permalink)  
Antiguo 07/03/2016, 16:14
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: seleccion de template

No seria mas sencillo si utilizas algo como Plates o Twig ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: plantillas, template
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 11:06.