álvaro modernas moderna fragatas fragata entre diferencia definicion corbeta clase bazán ave php css class menu include

modernas - Hacer<li> activo con incluye usar PHP y CSS



fragata moderna (3)

Yo uso estos archivos como base para mi sitio web:

El menu.php :

$p = $_GET[''p'']; switch($p) { case "home": $p = "page/home.php"; break; case "customers": $p = "page/customers.php"; break; default: $p = "page/home.php"; break; } <ul id=''nav''> <li>Title</li> <ul> <li class="nav active"><a href="?p=home">Home</a></li> <li><a href="?p=customers">Customers</a></li> </ul> </ul>

El default.php :

<body> <div id=''navcontainer''> <?php include ("menu.php"); ?> </div> <div id=''content''> <?php include ($p); ?> </div>

El style.css :

#navcontainer {margin:0; padding:0; width:220px;float:left;} #nav li {background:#36393D; color:#fff; padding:5px 3px 5px 20px; margin:4px;border-left:5px solid #3F4C6B;} #nav ul li{display:block; padding:3px; background:#fff; color:#000;border:none; padding:3px 0 3px 30px;} #nav ul li:hover, #nav ul li.active {background:#eee; cursor:pointer; border-left:5px solid #4096EE;padding:3px 0 3px 25px;} #nav ul li a {text-decoration:none; color:#000;}

El home.php y todas las páginas:

<p>Hello world!</p>

Me pregunto si es posible hacer que mi menu.php cambie de clase a nav active en los <li> elementos según la página que se visita actualmente.

¿Algunas ideas?


Puede dar una identificación en SOLICITUD y luego agregar:

$id = $_GET[''id'']

entonces

<li <?php if($id == your_id){ echo "class=''nav visited''";} ?> >


Usando solo php, puedes crear una variable adicional

<?php $p = $_GET[''p'']; $currentPageId = 0; switch($p) { case "home": $p = "page/home.php"; $currentPageId = 1; break; case "customers": $p = "page/customers.php"; $currentPageId = 2; break; default: $p = "page/home.php"; $currentPageId = 1; break; } ?> <ul id=''nav''> <li>Title</li> <ul> <li <?php if($currentPageId == 1) { echo ''class="nav active"''; } ?> ><a href="?p=home">Home</a></li> <li <?php if($currentPageId == 2) { echo ''class="nav active"''; } ?> ><a href="?p=customers">Customers</a></li> </ul> </ul>


No pude conseguir

$p = $_GET[''p''];

trabajar. Lo que funcionó para mí fue

$p = $_SERVER[REQUEST_URI];