Foros del Web » Programando para Internet » PHP »

¿Cómo cargar un menú?

Estas en el tema de ¿Cómo cargar un menú? en el foro de PHP en Foros del Web. Hola, Hace poco que trabajo con PHP y tengo una estructura modular con diferentes layouts para diferentes secciones, que tiene sus includes: include (header.php) include ...
  #1 (permalink)  
Antiguo 26/06/2008, 08:07
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
¿Cómo cargar un menú?

Hola,

Hace poco que trabajo con PHP y tengo una estructura modular con diferentes layouts para diferentes secciones, que tiene sus includes:

include (header.php)
include (módulo)
include (footer)

Lo que necesito es que al cargar un determinado módulo, en el header se me cargue o no un submenú determinado, si fuera necesario. Mi idea es crear una función que sea el submenú dentro del módulo. Y que el header tenga un

if (la función existe){
display_submenu();
}else{
no hagas nada;}

Como es evidente no sé cómo hacer para que me interprete si existe o no la función y sobre todo el "no hagas nada" porque todo lo que he probado me da error.
  #2 (permalink)  
Antiguo 26/06/2008, 09:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Cómo cargar un menú?

para comprobar que una función existe... esta function_exists()

mi otra pregunta es... que haces para que el "no hagas nada" te tire error... o que paso?

Referencia: http://php.net/function_exists
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/06/2008, 09:22
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo cargar un menú?

Ok, gracias, no era necesario el }else{ creo que ya funciona como yo quería.
  #4 (permalink)  
Antiguo 26/06/2008, 10:50
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo cargar un menú?

Lo he probado y no funciona porque lo que necesito ahora es que el header reciba la función del módulo porque entre ellos no están conectados, ambos están incluídos en el layout, pero entre ellos no se conectan, ¿hay alguna manera sencilla de hacerlo?
  #5 (permalink)  
Antiguo 26/06/2008, 14:17
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo cargar un menú?

Seguro que es una tontería pero necesito solucionarlo pronto y no se me ocurre cómo llamar a la función. Ahora mismo en el header tengo:
Código PHP:
<?php
                        
if (function_exists('display_submenu')) {
                            
display_submenu ();
                        }
                        
?>
Y la función que está en el módulo:

Código PHP:
<?
 
function display_submenu()
     {
     echo
"<ul>
                <li>Información nutricional</li>
                <li>¿Que incluye?</li>
                <li>¿Cómo se calcula?</li>
                <li>Etiquetado</li>
            </ul>"
;
     }
 
?>
Pero el header no me recoge la función del módulo, lo he comprobado poniendole un }else{ echo"No encuentro el submenu"; .

Las dos páginas están conectadas mediante el layout:

Código PHP:
<?php include('includes/default_header.php');

    if (
file_exists$path_modulo )) include( $path_modulo );
    else die(
'Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');


include(
'includes/footer.html'); ?>
  #6 (permalink)  
Antiguo 26/06/2008, 14:59
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo cargar un menú?

He probado a declarar la función dentro del header y funciona perfectamente, pero además, si está declarada en ambos archivos me dice que no se puede redeclarar dentro del módulo, de manera que supongo que el fallo no está en que no la encuentra si no que no la ejecuta. ¿Alguien sabe qué puede pasar?
  #7 (permalink)  
Antiguo 26/06/2008, 15:25
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo cargar un menú?

Por si a alguien le interesa lo solucioné convirtiendo la función en una variable:

$submenu = display_submenu();

y en el header:

<?php
if (function_exists('display_submenu')) {
echo $submenu;
}
?>
  #8 (permalink)  
Antiguo 26/06/2008, 15:32
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo cargar un menú?

Vaya, pensé que lo había solucionado pero en realidad se estaba activando la función dentro de la variable, evidentemente, no en el header.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:06.