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

Plantillas Smarty y etiquetas DIV

Estas en el tema de Plantillas Smarty y etiquetas DIV en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, me obligan en al Universidad, a crear un portal usando plantillas, para seprar PHP de HTML... Tengo la web hecha ya estática, toda en ...
  #1 (permalink)  
Antiguo 15/05/2008, 05:24
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 10 meses
Puntos: 0
Plantillas Smarty y etiquetas DIV

Hola,
me obligan en al Universidad, a crear un portal usando plantillas, para seprar PHP de HTML...
Tengo la web hecha ya estática, toda en HTML, y quiero pasarlo a plantillas.
El primer problema es la págnina principal, los DIV leen bien lso estilos, y cada uno sale del color correspondiente, pero cuando quiero quitar el contenido que hay dentro de cada DIV y hacer esto:

index.php
Código PHP:
<?php 
define
('SDIR','smarty/');
require 
SDIR.'libs/Smarty.class.php';

// Crea Objeto
$smarty = new Smarty();

// Directorios necesarios para smarty
$smarty->template_dir SDIR.'templates';
$smarty->compile_dir SDIR.'templates_c';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<!-- #BeginEditable "doctitle" -->
<title>Inicio</title>
<!-- #EndEditable -->
<link href="styles/cocina.css" rel="stylesheet" type="text/css" />
</head>

<body>

<!-- Begin Container -->
<div id="container">
    <!-- Begin Masthead -->
    <div id="masthead">
    <!-- INCLUDE masthead.tpl -->
    </div>
No me lees nada de masthead.tpl

masthead.tpl:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>

<body>
<img alt="" height="66" src="wwwcocina/images/logo.jpg" width="150" /><p class="slogan1">
		<strong><span class="slogan2">HoyCocinasTu.com<br />
		</span></strong>[email protected]<br />
		</p>

</body>

</html> 
También he probado con
masthead.tpl

Código HTML:
<img alt="" height="66" src="wwwcocina/images/logo.jpg" width="150" /><p class="slogan1">
		<strong><span class="slogan2">HoyCocinasTu.com<br />
		</span></strong>[email protected]<br />
		</p> 
Pero no sé como hacer que el contenido de los diferentes DIV se lean de plantilla,s y según el tipo de usuario y en qué parte de la web esté, cambie el DIV "sidebar" que es el menú...no sé si me he explicado bien :s
  #2 (permalink)  
Antiguo 15/05/2008, 09:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Plantillas Smarty y etiquetas DIV

Hola scout_vlc,

La idea de usar Smarty es que separes tus páginas PHP de tus páginas con HTML, te recomiendo busques en Google algún libro sobre Smarty o un tutorial básico, ya que tu problema es que estas juntando dos cosas que no es la forma correcta.

Más que explicarte donde esta tu error, debes de primero aprender para que y como sirve Smarty. Con eso te ayudaras mucho a ti mismo y evitaras errores genéricos como el que te esta pasando.

Saludos.
  #3 (permalink)  
Antiguo 22/05/2008, 08:39
Avatar de geek08  
Fecha de Ingreso: mayo-2008
Ubicación: En algun lugar...
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Respuesta: Plantillas Smarty y etiquetas DIV

Hola scout_vlc..
Bueno hace poco empeze a usar smarty, lo que te recomiendo es que vos tenes tu index.html todo junto..
1º separa en 3 partes el header.html, contenido.html y footer.html
Lugo en el contenido.html sobre todo el codigo pone {include file=header.html} y en el final del contenido.html coloca {include file=footer.html}
y asi usalo para todas las secciones del sitio..
Nos vemos.. Suerte
  #4 (permalink)  
Antiguo 28/05/2008, 02:14
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Plantillas Smarty y etiquetas DIV

Muchas gracias, haciendo lo que me comentas:

Código HTML:
....
<!-- INCLUDE masthead.html -->	
		{include file=masthead.html}</div>
	<!-- End Masthead -->
	<!-- Begin Page Content -->
	<div id="page_content">
		<!-- Begin Sidebar -->
		<div id="sidebar">
		<!-- INCLUDE sidebar.tpl -->
		{include file=login.tpl}
		{include file=sidebar.tpl}
			</div>
.........

me funciona genial
  #5 (permalink)  
Antiguo 28/05/2008, 05:17
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Plantillas Smarty y etiquetas DIV

Una duda... ahora quiero cambiar el menu (sidebar) dependiendo el tipo de usuario que sea...
si escribo

Código HTML:
{include file={$sidebar} }
donde $sidebar es la ruta de la plantilla a cargar, dependiendo del tipo de usuario, me ocurre este error:

Warning: Smarty error: unable to read resource: "{footer.html" in C:\wamp\www\plantillas\smarty\libs\Smarty.class.ph p on line 1092
}


¿Cómo puedo cambiar el menu dependiendo del tipo de usuario que sea? debo tener el código PHP y el HTML separados, sino...me suspenden en clase

Muchas gracias
  #6 (permalink)  
Antiguo 28/05/2008, 07:16
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Plantillas Smarty y etiquetas DIV

Deberías usar solo un par de llaves, si la variable es de Smarty, no hagas esto:

Código PHP:
{include file={$sidebar} } 
Deberías hacer esto:

Código PHP:
{include file="$sidebar"
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #7 (permalink)  
Antiguo 28/05/2008, 11:21
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Plantillas Smarty y etiquetas DIV

Muchas gracias!!
todo perfecto
  #8 (permalink)  
Antiguo 28/05/2008, 17:33
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Plantillas Smarty y etiquetas DIV

Lo recomendable siempre, ante la menor duda, ir al manual.

A pesar de estar hace muchos años en esto, no dejo de consultar constantemente el manual.
__________________
Blog phpsenior.com Cursos a Distancia surforce.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




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