Ver Mensaje Individual
  #7 (permalink)  
Antiguo 05/10/2007, 10:37
Avatar de Marvin
Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Re: Armar web con include (muy básico)

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!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!