Duda con <li class="active">

  • Autor Autor RemPro
  • Fecha de inicio Fecha de inicio
R

RemPro

Hola Betas!, estoy con un problemilla en un menú, el código que tengo es este:
Insertar CODE, HTML o PHP:
<li class="active"><a href="index.php">INICIO</a></li>
<li class="" ><a href="articulos.php">Artículos</a></li>


se que para que me funciones tengo que poner el "active" en cada sección, en fin.. el problema es que el código del menú es el mismo para todas las páginas, ya que está mediante la función <?php include("menu.php"); ?>

No se que hacer para que funcione :/
 
Puedes decir qué es lo que falla? No me he enterado... :s
 
Puedes decir qué es lo que falla? No me he enterado... :s

Tengo el menú de la web mediante la función "include", hago clic en INICIO y queda esta opción seleccionada, pero NO sucede lo mismo cuando hago clic en Artículos 🙁
 
Tengo el menú de la web mediante la función "include", hago clic en INICIO y queda esta opción seleccionada, pero NO sucede lo mismo cuando hago clic en Artículos 🙁

Supongo que es porque como el include es igual en todas las páginas, saldrá lo mismo en todas, es decir:

Página de inicio:
Insertar CODE, HTML o PHP:
<li class="active"><a href="index.php">INICIO</a></li>
<li class="" ><a href="articulos.php">Artículos</a></li>

Artículos:
Insertar CODE, HTML o PHP:
<li class="active"><a href="index.php">INICIO</a></li>
<li class="" ><a href="articulos.php">Artículos</a></li>

Si quieres que salga diferente, supongo que tendrás que prescindir del include, y montar el código en cada página. Así:

Página de inicio:
Insertar CODE, HTML o PHP:
<li class="active"><a href="index.php">INICIO</a></li>
<li class="" ><a href="articulos.php">Artículos</a></li>

Artículos:
Insertar CODE, HTML o PHP:
<li class=""><a href="index.php">INICIO</a></li>
<li class="active" ><a href="articulos.php">Artículos</a></li>


Aunque supongo que habrá formas de editarlo con php, es un lenguaje que no tengo ni idea, pero por lo poco que he leido, sería poner una condición que haga que según en la página donde esté que aparezca la clase css para editar el diseño.

Corrígeme si me equivoco, o si he derrapado porque no tiene nada que ver y no te entendí, un saludo!
 
Usa la variable PHP_SELF
 
🙂🙂🙂🙂🙂🙂🙂🙂
 
Última edición:
Trata en todo lo posible evitar pedir que te solucionen las cosas... las respuestas a tus preguntas estan en hacer mas preguntas... ok quieres que la clase css se imprima dependiendo de que seccion estas visitando... entonces ¿como validarias en que seccion o archivo php estas viendo?... ya te han dado una respuesta...
 
Última edición:
Hola yo lo haria con jquery, para dejar el include del menu simplificado sin if , el codigo es muy simple:

<script type="text/javascript">
jQuery(document).ready(function($) {

//quitar el current actual
$("#menu .current").removeClass('current');

//poner la class current al elemento del menu que queremos s
$("a[href='url_a_activar.html']").addClass('current');

});

Necesitaras incluir jQuery... 😉

Salds
 
Utiliza Jquery y ya esta una fácil y rápida solución has lo que dice bertocoder
 
Hola Betas!, estoy con un problemilla en un menú, el código que tengo es este:
Insertar CODE, HTML o PHP:
<li class="active"><a href="http://forobeta.com/">INICIO</a></li>
<li class="" ><a href="articulos.php">Artículos</a></li>


se que para que me funciones tengo que poner el "active" en cada sección, en fin.. el problema es que el código del menú es el mismo para todas las páginas, ya que está mediante la función <?php include("menu.php"); ?>

No se que hacer para que funcione :/


Tal vez llego un poco tarde pero te comento.
Yo para marcar activa la opción del menú recupero la url mediante una función y la comparo con la correspondiente opción del menú. Sería algo así:

PHP:
<li class="<?php if (verURL() == 'index.php'){ echo 'active'; } ?>"><a href="index.php">INICIO</a></li>
<li class="<?php if (verURL() == 'articulos.php'){ echo 'active'; } ?>" ><a href="articulos.php">Artículos</a></li>
<li class="<?php if (verURL() == 'analisis.php'){ echo 'active'; } ?>" ><a href="analisis.php">Artículos</a></li>
<li class="<?php if (verURL() == 'contacto.php'){ echo 'active'; } ?>" ><a href="contacto.php">Artículos</a></li>
<li class="<?php if (verURL() == 'ayuda.php'){ echo 'active'; } ?>" ><a href="ayuda.php">Artículos</a></li>

PHP:
function verURL(){
     return $_SERVER['PHP_SELF'];
}

La función no es estrictamente necesaria pero queda más claro y es más correcto. Si modificas tu archivos "menu.php" con esta funcionalidad, la sección donde estés se marcará automáticamente al cambiar de url.

Espero que te sirva. Un saludo.
 
Atrás
Arriba