Foros del Web » Programando para Internet » PHP »

Cambiar estilo menu

Estas en el tema de Cambiar estilo menu en el foro de PHP en Foros del Web. Hola a todos! Tengo un menu en php con tablas html, en un archivo header.php y mis archivos llaman a header.php Lo que quiero hacer ...
  #1 (permalink)  
Antiguo 03/10/2011, 18:21
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Cambiar estilo menu

Hola a todos!
Tengo un menu en php con tablas html, en un archivo header.php y mis archivos llaman a header.php
Lo que quiero hacer es que si esta en index.php en el menu muestre Home con negrita<b></b> sino muestre normal.
Estoy viendo para comprobar en que archivo esta, tengo una funcion menu donde retorno la variable $body y en el header.php llamo a la funcion.
Codigo:
Código PHP:

header
.php
menuNavigation
();
print 
$body;

function.
php
function menuNavigation()
{
   
    if (
$_SERVER['SCRIPT_NAME'] == 'index.php')
    {
        
$body .= '<td align="center">';
            
$body .= '<a href="index.php" class="seleccionado">';
            
$body .= 'HOME';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="profiles.php" >';
            
$body .= 'PROFILES';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="contact.php" >';
            
$body .= 'CONTACT';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="community.php" >';
            
$body .= 'COMMUNITY';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="videos.php">';
            
$body .= 'VIDEOS';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="products.php">';
            
$body .= 'PRODUCTS';
            
$body .= '</a>';
            
$body .= '</td>';
     }else if (
$_SERVER['SCRIPT_NAME'] == 'profiles.php')
    {
        
$body .= '<td align="center">';
            
$body .= '<a href="index.php">';
            
$body .= 'HOME';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="profiles.php" class="seleccionado">';
            
$body .= 'PROFILES';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="contact.php" >';
            
$body .= 'CONTACT';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="community.php" >';
            
$body .= 'COMMUNITY';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="videos.php">';
            
$body .= 'VIDEOS';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="products.php">';
            
$body .= 'PRODUCTS';
            
$body .= '</a>';
            
$body .= '</td>';
     }else if(
$_SERVER['SCRIPT_NAME'] == 'contact.php')
    {
         
$body .= '<td align="center">';
            
$body .= '<a href="index.php">';
            
$body .= 'HOME';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="profiles.php">';
            
$body .= 'PROFILES';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="contact.php" class="seleccionado">';
            
$body .= 'CONTACT';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="community.php" >';
            
$body .= 'COMMUNITY';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="videos.php">';
            
$body .= 'VIDEOS';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="products.php">';
            
$body .= 'PRODUCTS';
            
$body .= '</a>';
            
$body .= '</td>';
     }else if(
$_SERVER['SCRIPT_NAME'] == 'community.php')
    {
        
$body .= '<td align="center">';
            
$body .= '<a href="index.php">';
            
$body .= 'HOME';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="profiles.php">';
            
$body .= 'PROFILES';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="contact.php">';
            
$body .= 'CONTACT';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="community.php" class="seleccionado">';
            
$body .= 'COMMUNITY';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="videos.php">';
            
$body .= 'VIDEOS';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="products.php">';
            
$body .= 'PRODUCTS';
            
$body .= '</a>';
            
$body .= '</td>';
    } else if(
$_SERVER['SCRIPT_NAME'] == 'videos.php')
    {
        
$body .= '<td align="center">';
            
$body .= '<a href="index.php">';
            
$body .= 'HOME';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="profiles.php">';
            
$body .= 'PROFILES';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="contact.php">';
            
$body .= 'CONTACT';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="community.php">';
            
$body .= 'COMMUNITY';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="videos.php" class="seleccionado">';
            
$body .= 'VIDEOS';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="products.php">';
            
$body .= 'PRODUCTS';
            
$body .= '</a>';
            
$body .= '</td>';
    } else if(
$_SERVER['SCRIPT_NAME'] == 'products.php')
    {
        
$body .= '<td align="center">';
            
$body .= '<a href="index.php">';
            
$body .= 'HOME';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="profiles.php">';
            
$body .= 'PROFILES';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="contact.php">';
            
$body .= 'CONTACT';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="community.php">';
            
$body .= 'COMMUNITY';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="videos.php">';
            
$body .= 'VIDEOS';
            
$body .= '</a>';
            
$body .= ' | ';
            
$body .= '<a href="products.php" class="seleccionado">';
            
$body .= 'PRODUCTS';
            
$body .= '</a>';
            
$body .= '</td>';       
      }   
    return 
$body;    
    

Cuando ejecuto, siempre aparece seleccionado Home aunque ingrese a contact.php u otro sitio.
Quien pueda ayudarme se los agradezco!
Muchas gracias.!
  #2 (permalink)  
Antiguo 03/10/2011, 18:36
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Cambiar estilo menu

Bueno, el problema es que deberias tener aparte cada seccion de tu web, algo como:

Código PHP:
Ver original
  1. $menu = array(
  2.     'HOME' => 'index.php',
  3.     'VIDEOS' => 'videos.php',
  4. );
  5.  
  6. // Despues una funcion para mostrarlos
  7. function verMenu($seccion = 'HOME') {
  8.     global $menu;
  9.     foreach($menu as $text => $link) {
  10.          // Aqui verificas si text == seccion para agregar el estilo que quieras
  11.          // Y creas el enlace
  12.     }
  13. }
  14.  
  15. // Desde la pagina principal lo harias asi:
  16. echo verMenu('HOME');
  17.  
  18. // Desde la pagina de videos lo harias asi:
  19. echo verMenu('VIDEOS');
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 03/10/2011, 19:39
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Cambiar estilo menu

Muchas gracias, disculpa pero me esta apareciendo un error:
Código PHP:
Parse errorsyntax errorunexpected T_STRINGexpecting ')' 
En esta linea:
Código PHP:
'HOME' => 'index.php',
del array
$menu = array(
* *         
'HOME' => 'index.php',
* *         
'VIDEOS' => 'videos.php'
            
); 
Y despues dices, sobre la comprobación que haga por ejemplo.
Código PHP:
if($texto == 'HOME')
{
     
// muestro menu seleccionado
}else if($texto == 'VIDEOS')
{
   
// muestro menu selecionado

Sería algo asi.
Muchas gracias por tu respuesta!
  #4 (permalink)  
Antiguo 03/10/2011, 20:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Cambiar estilo menu

Ya viste los asteriscos a la izquierda?... al parecer, cuando copias y pegas el codigo directamente se agregan caracteres no validos que son los que causan esos errores y, no, es mejor recorrer el array con foreach y cambiar el estilo de acuerdo al texto recibido, no tiene caso tener un if para cada elemento.

Código PHP:
Ver original
  1. if($text == $seccion) {
  2.     // Aqui lo muestras con negrillas o como prefieras
  3. } else {
  4.     // Aqui lo muestras normal
  5. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: estilo, html, tabla, variables
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:00.