Yo te voy a pasar cómo tengo hecho el modelo/visto/controlador, eso sí, a mi modo XD:
/index.php
Código PHP:
Ver original<?php
//Librearía de avisos/errores.
if (!@include_once('./lib/avisos/error.php')) { echo "<h3>¡Hay un fallo en la página!</h3>Te importaría mandar un email a [email protected] con el asunto \"#0001\", ya que retóricamente es nuestra librería de aviso de errores el que ha fallado. <em>¡Gracias!"; exit; }
//Cargar información importante del "motor".
if (!@include_once('./include.php')) { error_envmail
("0007"); exit; }
//Consultas de [0] "Últimos añadidos" y [1] "Últimos comentarios".
$consulta = array('SELECT cod, accesible, nombre, categoria, municipio, cod_usr FROM lugares ORDER BY fecha DESC LIMIT 0, 6', 'SELECT comentarios.fecha, comentario, usuario, usuarios.cod AS cod_usr, lugares.cod AS cod_lugar, nombre, accesible FROM comentarios INNER JOIN usuarios ON usuarios.cod = comentarios.cod_usr INNER JOIN lugares ON lugares.cod = cod_lugar ORDER BY comentarios.fecha DESC LIMIT 0, 5');
$consulta = consulta_bd($consulta);
define(ultimos_anadidos
, $consulta[0]); define(ultimos_comentarios
, $consulta[1]);
//Cargar plantilla de la portada.
if (!@include_once('./theme/portada.tpl')) { error_envmail("0008", false); }
?>
/include.php
Código PHP:
Ver original<?php
//Configuración de la aplicación.
if (!@include_once('./config.php')) { error_envmail
("0002"); exit; }
//Incluir funciones.
if (!@include_once('./funciones.php')) { error_envmail
("0003"); exit; }
//Comprobar si mantenimiento está activado.
$mantenimiento = unserialize(mysql_result(consulta_bd
("SELECT valor FROM opciones WHERE opcion = 'mantenimiento'"), 0));
if ($mantenimiento[0] == true) {
//Etiquetas del theme.
define(e_tpl_mantto_titulo
, $mantenimiento[1]); define(e_tpl_mantto_texto
, $mantenimiento[2]);
include_once('./theme/mantenimiento.tpl');
}
//¿Es usuario?.
//ID del usuario.
?>
/funciones.php
Código PHP:
Ver original<?php
/************** INDICE **************
1. Conexiones con base de datos.
1.1. - Conectar a la Base de Datos y realizar consulta. / Rubén Martín - 30/07/2011.
3. Plantilla (Genericas).
3.1. - Incluir cabeza. / Rubén Martín - 01/08/2011.
3.2. - Incluir pie. / Rubén Martín - 01/08/2011.
3.3. - Avatar de usuario. / Rubén Martín - 03/08/2011.
3.4. - Imagen si/no / Rubén Martín - 11/08/2011.
3.5. - Reordenar fecha (Sistema Español) / Rubén Martín - 12/08/2011.
3.6. - Twitter (Timeline). / Rubén Martín - 15/08/2011.
// Lugares (lugares.php). //
3.7. - Imagen principal. / Rubén Martín - 21/08/2011.
3.8. - Descripción/comentario autor. / Rubén Martín - 24/08/2011.
4. Seguridad.
4.1. - Evitar SQL Injection. / Rubén Martín - 16/08/2011.
************************************/
/************* 3. - PLANTILLAS (GENERICAS) *************/
//3.1. - Incluir cabeza.
function tpl_cabeza($css) {
} else {
error_envmail("0011", false);
}
if ($css == 'lugares.css') { $anadir = '<link href="' . tpl_galeria_ppal (cod_lugar, true) . '" rel="image_src" />'; }
if (!@include_once('./theme/header.tpl')) { error_envmail("0009", false); }
}
//3.2. - Incluir pie.
function tpl_pie() {
if (!@include_once('./theme/footer.tpl')) { error_envmail("0010", false); }
}
?>
/theme/header.tpl
Código PHP:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="./theme/css/common.css" />
<link rel="stylesheet" type="text/css" href="./theme/css/<?php echo tpl_css; ?>" />
<?php echo $anadir; ?>
<title>Gran Canaria Accesible</title>
</head>
<body>
<div style="background-color: #ffc4c4; border-bottom: 1px solid #ff4e4e; width: 100%; padding: 6px 0 6px 0;">
<div style="font-family: Tahoma; font-size: 11px; width: 1004px; margin: auto; padding-left: 10px;">
La información aquí mostrada no concuerda con la realidad y/o ser veraz. Es contenido de prueba usada por el equipo de desarrollo y generado por el mismo o por los usuarios.
</div>
</div>
<div style="background-color: #fffcd6; width: 100%; padding: 6px 0 6px 0; border-bottom: 1px solid #fce095;">
<div style="font-family: Tahoma; font-size: 11px; width: 1004px; margin: auto; padding-left: 10px;">
<strong>¡Bienvenido!</strong> Estás viendo la página del grupo de desarrollo. Sientete libre de <em>romper lo que quieras</em> y recordarte que tus acciones no repercutirán en la página principal.
<a href="http://grancanariaccesible.com" style="text-decoration: none; color: blue;">Volver a la página principal.</a>
</div>
</div>
<div id="pagina">
/theme/portada.tpl
Código PHP:
Ver original<?php tpl_cabeza("portada.css"); ?>
<div id="contenido" class="left">
<div id="box" class="ultm-lugares">
<h2>Lugares añadidos</h2>
<ul>
<li>
<a href="./perfil.php?cod=<?php echo $a['cod_usr']; ?>"><? tpl_usr_avatar($a['cod_usr'], 0); ?></a>
<div>
<a href="./lugares.php?cod=<?php echo $a['cod']; ?>" class="lugar" style="background-image: url('<?php tpl_sino($a['accesible'], 0, true); ?>');"><?php echo $a['nombre']; ?></a>
<a href="#" class="categoria"><?php echo $a['categoria']; ?></a>
<a href="#" class="municipio"><?php echo $a['municipio']; ?></a>
</div>
</li>
<?php } ?>
</ul>
</div>
</div>
<div id="sidebar" class="right">
<div id="box" class="ultm-comentarios">
<h2>Últimos comentarios</h2>
<ul>
<li>
<a href="./perfil.php?cod=<?php echo $a['cod_usr']; ?>"><? tpl_usr_avatar($a['cod_usr'], 1); ?></a>
<div>
<a href="./perfil.php?cod=<?php echo $a['cod_usr']; ?>" class="nombre"><? echo $a['usuario']; ?></a><span class="en">en</span><br />
<a href="./lugares.php?cod=<?php echo $a['cod_lugar']; ?>" class="lugar" style="background-image: url('<?php tpl_sino($a['accesible'], 0, true); ?>');"><?php echo $a['nombre']; ?></a>
<span class="fecha"><?php tpl_fecha($a['fecha'], true, true); ?></span>
<?php echo $a['comentario']; ?>
</div>
</li>
<?php } ?>
</ul>
</div>
</div>
<?php tpl_pie(); ?>
Bueno, te explico el funcionamiento de mi "
sistema", que a mi hasta ahora me ha funcionado:
En el index.php una de las primeras cosas que hago es cargar información importante (include.php) y dentro de las misma está funciones.php, en ese archivo si te fijas hay una función que se llama "tpl_cabeza", que es en donde cargo la cabeza (cabeza.tpl) y ves el modo en el cargo el css (por ejemplo).
En el archivo "portada.tpl" puedes comprobar como cargo la cabeza.
ahora tu pregunta, ¿Cómo añades un <meta> a la cabeza, por ejemplo? pues he añadido en header.tpl el código "
<?php echo $anadir; ?>" y en portada.tpl sólo tengo que declarar la información que quiero poner del siguiente modo "$anadir = '<meta name="description" content="prueba" />';" y me aparece en la cabeza.
Espero haberme explicado bien, aunque creo que no ^^