Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Clase Plantillas+CSS

Estas en el tema de Clase Plantillas+CSS en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, queria saber como maquetar el sitio con CSS utilizando una clase para plantillas PHP, la clase que estoy utilizando es la siguiente: http://blog.pecesama.net/clase-php-4...llas-o-themes/ Por ...
  #1 (permalink)  
Antiguo 06/01/2009, 18:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 130
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Clase Plantillas+CSS

Buenas, queria saber como maquetar el sitio con CSS utilizando una clase para plantillas PHP, la clase que estoy utilizando es la siguiente:
http://blog.pecesama.net/clase-php-4...llas-o-themes/


Por si quieren verla en vivo y directo jejeje..:

Código PHP:
<?php
class plantillas {

        var 
$plantilla;
        var 
$plantilla_cargada;
        var 
$texto_plantilla;
        
        var 
$antesBloque;
        var 
$bloque;
        var 
$despuesBloque;
        var 
$bloqueFinal="";

        function 
plantillas($plantilla) {               
                
$this->plantilla = ($plantilla == "") ? "default" $plantilla;
        }       

        function 
cargarPlantilla($entrada$salida$plantilla_usar) {          
                
$plantilla_usar "themes/".$this->plantilla."/".$plantilla_usar.".htm";
                
                if (!
file_exists($plantilla_usar)) {
                        die(
"No se encuentra la plantilla :".$plantilla_usar);
                } else {                
                        if(!
$fd fopen($plantilla_usar"r")) {
                                die(
"Error en la plantilla");
                        } else {
                                
$salida_xhtml fread($fdfilesize ($plantilla_usar));
                                
fclose ($fd);
                                
$salida_xhtml stripslashes($salida_xhtml);
                                
$this->texto_plantilla $salida_xhtml;
                                for (
$i 0$i count($entrada); $i++) {
                                        
$salida_xhtml str_replace($entrada[$i], $salida[$i], $salida_xhtml);
                                }
                                
$this->plantilla_cargada $salida_xhtml;
                        } 
                }
        }       
                
        function 
precargarPlantillaConBloque($entrada$salida$plantilla_usar$nombreBloque) {               
                
$plantilla_usar "themes/".$this->plantilla."/".$plantilla_usar.".htm";
                
                if (!
file_exists($plantilla_usar)) {
                        die(
"No se encuentra la plantilla :".$plantilla_usar);
                } else {                
                        if(!
$fd fopen($plantilla_usar"r")) {
                                die(
"Error en la plantilla");
                        } else {
                                
$salida_xhtml fread($fdfilesize ($plantilla_usar));
                                
fclose ($fd);
                                
$salida_xhtml stripslashes($salida_xhtml);
                                
$this->texto_plantilla $salida_xhtml;
                                
                                
$this->cargaAntesBloque($nombreBloque);
                                
$this->cargaDespuesBloque($nombreBloque);
                                
                                
$this->antesBloque $this->procesaBloque($entrada$salida$this->antesBloque);
                                
$this->despuesBloque $this->procesaBloque($entrada$salida$this->despuesBloque);
                        } 
                }
        }       
        
        function 
cargarPlantillaConBloque($entrada$salida$plantilla_usar$nombreBloque) {          
                
$plantilla_usar "themes/".$this->plantilla."/".$plantilla_usar.".htm";
                
                if (!
file_exists($plantilla_usar)) {
                        die(
"No se encuentra la plantilla :".$plantilla_usar);
                } else {                
                        if(!
$fd fopen($plantilla_usar"r")) {
                                die(
"Error en la plantilla");
                        } else {
                                
$salida_xhtml fread($fdfilesize ($plantilla_usar));
                                
fclose ($fd);
                                
$salida_xhtml stripslashes($salida_xhtml);
                                
$this->texto_plantilla $salida_xhtml;
                                
                                
$this->cargaBloque($nombreBloque);
                                
                                
$this->bloqueFinal .= $this->procesaBloque($entrada$salida$this->bloque);
                        } 
                }
        }       
        
        function 
procesaBloque($entrada$salida$bloque) {
                for (
$i 0$i count($entrada); $i++) {
                        
$bloque str_replace($entrada[$i], $salida[$i], $bloque);
                }
                return 
$bloque;
        }
        
        function 
cargaBloque($nombreBloque) {
                
$inicioBloque "[bloque: ".$nombreBloque."]";
                
$finBloque "[/bloque: ".$nombreBloque."]";
                
$ini strpos($this->texto_plantilla,$inicioBloque)+strlen($inicioBloque);
                
$fin strpos($this->texto_plantilla,$finBloque);
                
$this->bloque substr($this->texto_plantilla,$ini,($fin-$ini));
        }
        
        function 
cargaAntesBloque($nombreBloque) {
                
$inicioBloque "[bloque: ".$nombreBloque."]";
                
$ini strpos($this->texto_plantilla,$inicioBloque);
                
$this->antesBloque substr($this->texto_plantilla,0,$ini);
        }
        
        function 
cargaDespuesBloque($nombreBloque) {
                
$finBloque "[/bloque: ".$nombreBloque."]";
                
$fin strpos($this->texto_plantilla,$finBloque);
                
$this->despuesBloque substr($this->texto_plantilla,($fin+strlen($finBloque)),strlen($this->texto_plantilla));
        }
        
        function 
mostrarPlantillaConBloque() {
                echo 
$this->antesBloque.$this->bloqueFinal.$this->despuesBloque;
        }
        
        function 
mostrarPlantilla() {
                echo 
$this->plantilla_cargada;
        }
        
        function 
renderizaEtiqueta($texto=""$etiquetaHtml="p"$claseCss="") {
                echo 
"<".$etiquetaHtml." class=\"".$claseCss."\">".$texto."</".$etiquetaHtml.">";
        }
        
        function 
renderizaTexto($texto="") {
                echo 
$texto;
        }
}
?>
Lo que quiero es utilizar por ejemplo un template CSS y poder reemplazar por el contenido de index.php en el template index.htm...nose si me explico..osea utilizar CSS y esta Clase...

Gracias..!!
  #2 (permalink)  
Antiguo 06/01/2009, 19:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Clase Plantillas+CSS

Tema trasladado a PHP Orientado a Objetos.

CSS y PHP no tienen nada que ver recuerda que lo que tu imprimas en tu plantilla es lo que se va a mostrar en el cliente y por ende es lo que va a ejecutar el cliente, si tu imprimes un CSS determinado, el cliente va a usar ese CSS.

Saludos.
  #3 (permalink)  
Antiguo 06/01/2009, 19:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 130
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Clase Plantillas+CSS

Pero por ejemplo yo me baje un template CSS y al modificar el menu con por ejemplo {menu_principal} se reemplaza por lo que tengo en php..pero el stylo CSS desaparece.. osea no queda maquetado
  #4 (permalink)  
Antiguo 08/01/2009, 15:22
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: Clase Plantillas+CSS

y que contiene tu {menu_principal} ? y como es el css y el html que va en esa seccion
  #5 (permalink)  
Antiguo 16/01/2009, 18:11
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años
Puntos: 0
Respuesta: Clase Plantillas+CSS

Porque no utilizas Smarty ¿?
  #6 (permalink)  
Antiguo 19/01/2009, 05:20
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Clase Plantillas+CSS

En cuanto al uso de smarty o no smarty... encontré un post de un bloger que describia muy bien el porque de usar o no usar smarty. Aunque no comparta su decisión final la descripción de smarty la veo muy acertada:

http://www.phpbsd.net/2007/01/22/sis...as-con-smarty/

Recomendada lectura luego lean y opinen.

Salu2.
__________________
www.pensandoenred.com
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 06:59.