Enmarcar Contenido de Paginas en Plantillas de Forma Dinamica.Primero creas una pagina con todo el diseño diagramación y todo lo necesario, usa Rutas completas, cuando lo pruebes en carpetas sabras porque te lo digo
al inicio de la pagina metes algunas funciones o un include a tu libreria de funciones etc...
asi:
Código :
<?
#ejemplo:
#include('lib.inc.php'); //incluir libreria de funciones
?>
luego de tener la pagina creada llevas el puntero hasta donde quieres que aparezca el contenido, te pasas a edición de codigo
y le metes la siguiente linea donde esta el cursor:
Código :
<? function shutdown(){ ?>
luego te vas al final de la plantilla y le metes la siguiente linea:
Código :
<? exit; } register_shutdown_function("shutdown"); ?>
y eso es todo señores luego en cada pagina que quieran incluir la plantilla al inicio de el code visible le meten esto:
Código :
<? include('./lib.gui.php'); ?>
suponiendo que su archivo se llame ./lib.gui.php y este en la misma carperta.
Aqui un Ejemplo de como quedaria nuestro codigo y de como se agrega el codigo PHP
primero sacamos el codigo de nuestra plantilla y definimos donde esta el contenido de la misma.
plantilla.php escribió:
<!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>
<title>Mi Página Semántica</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body{
background-color:#efefef;
color:#666666;
font:11px/16px Arial, Helvetica,sans-serif;
}
#principal{
background-color:white;
width:600px;
}
#contenido{
width:400px;
margin-left:180px;
border-left:1px solid #DDDDDD;
padding-left:12px;
}
#navegacion{
width:150px;
float:left;
}
#header{
height:60px;
background-color:#1E90FF;
}
h1{
font-size:16px;
text-transform:uppercase;
letter-spacing:2px;
color:white;
padding:22px;
}
#navegacion ul{
padding:0;
margin:0;}
#navegacion li{
list-style-type:none;
border-bottom: 1px solid #DDDDDD;
border-left:4px solid #1E90FF;
color:#1E90FF;
margin:1px;
padding:4px;
}
#pie{
border-top:1px solid #1E90FF;
font-size:10px;
color:#AAAAAA;
padding:4px;
}
-->
</style>
</head>
<body>
<div id="principal">
<div id="header">
<h1>Encabezado</h1>
</div>
<div id="navegacion">
<ul>
<li>Inicio </li>
<li>Seccion 1 </li>
<li>Seccion 2 </li>
<li>Seccion 3 </li>
<li>Seccion 4 </li>
<li>Seccion 5 </li>
</ul>
</div>
<div id="contenido">
<h2>El titulo de este contenido</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Donec augue lacus, aliquam in, luctus in, gravida vel, mi.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
posuere cubilia Curae; Nunc aliquet ultrices ante
Mauris nunc dolor, egestas vel, auctor sed, dignissim vitae,
enim. Phasellus tincidunt. Phasellus vel wisi id neque cursus
rhoncus. Morbi cursus tristique est.
<p> Nulla pulvinar dui sed augue. Praesent laoreet arcu in justo.
Donec velit. Nam malesuada bibendum metus. Class aptent taciti
sociosqu ad litora torquent per conubia nostra, per inceptos
hymenaeos. Curabitur et tortor quis justo faucibus rutrum.
Duis aliquam, diam eu tempor rutrum, mauris leo lacinia neque,
et consectetuer elit nisl eget arcu.
Nam tellus libero, fringilla eu, elementum quis,
sodales suscipit, turpis. </div>
<div id="pie"><p> Copyright © 2004 Todos los derechos reservados</p></div>
</div>
</body>
</html>
Luego Creamos el archivo que sera incluido en nuestros documentos, en este caso me gusta llamarlo
lib.gui.phpy metemos las funciones en los lugares correctos (comparandolo con el anterior podra identificar las diferencias)
lib.gui.php escribió:
<?
#ejemplo:
#include('lib.inc.php'); //incluir libreria de funciones
?>
<!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>
<title>Mi Página Semántica</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body{
background-color:#efefef;
color:#666666;
font:11px/16px Arial, Helvetica,sans-serif;
}
#principal{
background-color:white;
width:600px;
}
#contenido{
width:400px;
margin-left:180px;
border-left:1px solid #DDDDDD;
padding-left:12px;
}
#navegacion{
width:150px;
float:left;
}
#header{
height:60px;
background-color:#1E90FF;
}
h1{
font-size:16px;
text-transform:uppercase;
letter-spacing:2px;
color:white;
padding:22px;
}
#navegacion ul{
padding:0;
margin:0;}
#navegacion li{
list-style-type:none;
border-bottom: 1px solid #DDDDDD;
border-left:4px solid #1E90FF;
color:#1E90FF;
margin:1px;
padding:4px;
}
#pie{
border-top:1px solid #1E90FF;
font-size:10px;
color:#AAAAAA;
padding:4px;
}
-->
</style>
</head>
<body>
<div id="principal">
<div id="header">
<h1>Encabezado</h1>
</div>
<div id="navegacion">
<ul>
<li>Inicio </li>
<li>Seccion 1 </li>
<li>Seccion 2 </li>
<li>Seccion 3 </li>
<li>Seccion 4 </li>
<li>Seccion 5 </li>
</ul>
</div>
<div id="contenido">
<? function shutdown(){ ?></div>
</div>
</body>
</html><? exit; } register_shutdown_function("shutdown"); ?>
Luego de terminada tu plantilla en el resto de tus archivos agregas la siguiente linea al inicio de todo el codigo:
test.php escribió:
include('./lib.gui.php');
es importante destacar que solo el contenido debera agregarse en los demas documentos.
puedes revisar
Aqui los tips de seguridad para que no puedan ser accedidos desde el web tus librerias.
Fijate bien en el codigo resaltado en negritas que alli esta la clave.
si tienes alguna duda usa tu logica o habre un nuevo tema con la pregunta.
Debo destacar que el el Codigo de
plantilla.phpha sido extraido del siguiente tutorial:
http://www.disenorama.com/tutoriales/css/disena_una_pagina_con_codigo.htm
que creanme vale la pena leerlo.
También puedes ver los ejemplos funcionando a continuación:
lib.gui.phptest.phpsinplantilla.php