Hola.
Estaba creando una web dinámica con php y me di cuenta de que necesitaba que el menú variase según en que módulo de la página nos encontrásemos, mostrando las subcategorías del módulo en el que nos encontramos, y no de otros. La variable $module es la que, en otras páginas, ha sido definida y tratada correctamente para contener solo los valores que nos interesan.
Como no se me ocurría ningún método mejor utilice un simple if para ejecutar o no ciertos echo; el código que utilice esta a continuacion.
Se os ocurre un método mejor de hacerlo o una forma de mejorar éste? Gracias.
<?php
if (!defined('nI')){
die('No se permite vizualización directa');
}
echo "<div class=\"leftmenu\">
<p>Inicio</p>
<p>Peliculas</p>";
if (($module=="peliculas") or ($module=="pelicula"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores películas</p>
<p>Las películas más vistas</p>
<p>Ultimas peliculas estrenadas</p>
<p>Ultimas peliculas añadidas</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Series</p>";
if (($module=="series") or ($module=="serie"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores series</p>
<p>Las series más vistas</p>
<p>Ultimas series estrenadas</p>
<p>Ultimas series añadidas</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Documentales</p>";
if (($module=="documentales") or ($module=="documental"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores documentales</p>
<p>Los documentales más vistos</p>
<p>Ultimos documentales estrenados</p>
<p>Ultimos documentales añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Juegos</p>";
if (($module=="juegoss") or ($module=="juego"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores juegos</p>
<p>Los juegos más jugados</p>
<p>Ultimos juegos estrenados</p>
<p>Ultimos juegos añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Musica</p>";
if (($module=="musica") or ($module=="artista"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores músicos</p>
<p>Los albums más escuchados</p>
<p>Ultimos albums estrenados</p>
<p>Ultimos albums añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Programas</p>";
if (($module=="programas") or ($module=="programa"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores programas</p>
<p>Los programas más utilizados</p>
<p>Ultimos programas estrenados</p>
<p>Ultimos programas añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo "</div>
<div class=\"Clear-leftmenu\"></div>";
?>
No sé si es lo que quieres, pero creo que la mejor solución sería con
switch case
para que no tengas que comprobar siempre todas las opciones
saludos
El problema es que hay líneas de código entre medio que deben ser ejecutadas si o si, y son distintas