Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2005, 17:49
Keysher
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Web modulas con un problema al mostrar el <title>

Buenas,

Estoy programando una web donde todas las páginas tienen la siguiente estructura:

- Un encabezado, con el titulo y alguna cosilla más.
- Un menú en uno de los laterales.
- Una parte central con un par de cosillas que son fijas y luego el sitio donde irán todas las secciones.
- Y un píe de página.

Más o menos lo tenía todo resuelto, en el sitio donde debian ir las funciones tenía algo parecido a esto:

<?php

$dir="./php/".$dir.".php";

if (file_exists($dir)) {
require($dir);
} else {
require("./php/error404.php");
}
?>

Siendo $dir el parametro que indica el módulo actual.
Esto funciona a la perfección (bueno, no me he mirado mucho si sería mejor un require_once o un include), el problema es el titulo de la página.

Me explico, dentro del .php de cada módulo se hacen un montón de cosas, una de ellas es generar el titulo (<title>loquesea</title>) de la página actual. Éste titulo se genera en función de un montón de variables distintas (consultas a una base de datos, parametros introducidos, variables pasadas por url, etc). En realidad lo hace todo bien, y el titulo de la página se muestra correctamente. Pero en el código HTML el <title> aparece a mitad de la página (Que es cuando interpreto todos los datos y genero el titulo).

En cuestiones de HTML no creo que esto sea muy correcto, pero por más que me estrujo la cabeza no consigo idear una forma más o menos buena de evitarlo. Como ya he dicho intervienen una infinidad de factores en la creación de ese titulo, y todos están estrechamente relacionados con el contenido a mostrar, por lo que por narices han de hacerse en mitad de la página.

A no ser que guarde en una variable TODO lo que quiera mostrar y realizar todas las funciones al inicio de la página, y luego en la mitad (dónde ahora tengo el include al módulo correspondiende) mostrar dicha variable. Es el único modo que se me ocurre, no obstante no creo que sea del todo correcto, porque estamos hablando de una variable que contendría, literalmente, miles y miles de caracteres (imaginad una colección de articulos completos que se deben mostrar).

Así que estoy un poco perdido, si alguien ha sido capaz de entender todo el embrollo que he soltado aquí, ¿se le ocurre algo que puede hacer?

Un saludo.