Cita:
Iniciado por obelix750 Estoy haciendo una web y quiero dejar el header y el footer separado del contenido para hacer más simple cualquier cambio en dichas secciones....
...Otro punto que me interesa es como evitar que se visualiza la página head.inc.php, de forma directa ya que sólo incluye la cabecera.
Cita:
Iniciado por david_M_G No le veo sentido a la aportación de Marvin. Es más, creo que sólo entorpecerías más el código.
Si no es lo que respondi entonces me retractare.
Si necesitas el codigo en "distintos archivos" y no solo "separado" y ademas necesitas que no lleguen al head directamente puedes hacer esto:
head_foot.php
Código PHP:
<?php
class head_foot{
function head(){
$head = /*aca todo el contenido del header*/
return $head;
}
function foot(){
$foot = /*aca todo el contenido del footer*/;
return $foot;
}
}
?>
Con esto no podran acceder a esta pagina y el head y foot te quedan divididos para cambiarlos cuando quieras (no en distintos archivos pero llamar al header no implica llamar al footer y viceversa).
En tu pagina:
Código PHP:
<?php
//incluyes el archivo
include_once('head_foot.php');
//instancias la clase
$header_foot = new head_foot();
//llamas al header
$header_foot->head();
//aca el contenido de tu pagina
//llamas al footer
$header_foot->foot();
?>
Ahora... como tienes un menu y quieres mantener el dato en el head lo que puedes hacer es enviar la variable que vas a mantener justo en la llamada a la funcion o sea:
Código PHP:
<?php
//incluyes el archivo
include_once('head_foot.php');
//instancias la clase
$header_foot = new head_foot();
//suponiendo que la variable que trae la etapa o la seleccion del menu
//se llama etapa
$etapa = $_GET['etapa']; //o $_POST['etapa']
//llamas al header y envias la variable de tu menu
$header_foot->head($etapa);
//aca el contenido de tu pagina
//llamas al footer
$header_foot->foot();
?>
Y en la clase head_foot tomas el valor en la funcion head y lo manejas a tu antojo.
Código PHP:
<?php
class head_foot{
//tomas la variable y la manejas a tu gusto
function head($etapa){
$head = /*aca todo el contenido del header*/
return $head;
}
function foot(){
$foot = /*aca todo el contenido del footer*/;
return $foot;
}
}
?>
Tambien puedes utilizar la variable en un posible menu del footer.
Suerte!