[Rendimiento]  Barra Menu No se activa
* URL del foro: http://www.foromybb.byethost12.com/ * Versión del foro: 1.6 * Actualización: Ninguna Buenas a todos, Tengo una duda sobre el skin...


Buenas a todos,
Tengo una duda sobre el skin Nesil.

Cuando se hace clic en alguna de las pestañas del menú no cambía el active a la pestaña que se está.

Tiene lo siguientes codigos de la barra del
Código PHP:
<div id="menu">
<
ul>
<
li class="active"><a href="{$mybb->settings['bburl']}/index.php">Foro</a></li>
<
li><a href="{$mybb->settings['bburl']}/chatbox.php">ChatBox</a></li>
<
li><a href="{$mybb->settings['bburl']}/misc.php?page=photoshop">Photoshop</a></li>
<
li><a href="{$mybb->settings['bburl']}/misc.php?page=cartelera">Cartelera</a></li>
<
li><a href="{$mybb->settings['bburl']}/memberlist.php">Miembros</a></li>
<
li><a href="{$mybb->settings['bburl']}/search.php">Buscar</a></li>
</
ul>
</
div

Y el css del menu es este:
Código PHP:
#menu {
    
backgroundurl(images/nesil/menu_bg_baslar.pngrepeat-x;
    
positionabsolute;
    
top150px;
    
right0px;
        
width100%;
    
padding-left0px;
    
font-familyTahoma'Trebuchet MS'Arialsans-serif;
}

#menu ul {
    
background#016db0 url(images/nesil/menu_bg.png) repeat-x;
    
list-stylenone;
    
margin0;
    
padding-left100px;
    
height34px;
}

#menu li {
    
floatleft;
    
margin-top4px;
    
margin-right10px;
}

#menu li a {
    
color#fff;
    
padding4px 10px 1px;
    
text-decorationnone;
    
displayblock;
    
border-bottom0;
}

#menu li a:hover {
    
color#fff;
    
border-bottom2px solid #fff;
    
text-decorationnone;
}

#menu li.active a, #menu li.active a:hover {
    
backgroundurl(images/nesil/menu_bg_aktif.pngno-repeat top left;
    
color#333;
    
padding4px 10px 4px 13px;
    
border-bottom2px solid #fff;
}

#menu li.active {
    
backgroundurl(images/nesil/menu_bg_aktif2.pngno-repeat top right;
    
padding-right4px;
    
positionrelative;
    
bottom: -2px;


Sin embargo cuando le das clic en Buscar: debe aparece seleccionado del menu la pestaña Buscar. Pero no.. sigue seleccionado la pestaña Foro.
A pesar que apretes en cualquiera de las pestañas del menu, siempre se queda seleccionado el del foro.
Nosé que estaré haciendo mal.
Hice todo igual . pero no se activa la pestaña.
Hola,
No habrá otra forma de hacerlo ?

En el global.css del Nesil vienen los Styles de #Menu, #menu active #menu li. etc.

Y si le hago de la forma que me djiste cuando hago clic en Search por ejemplo. Me voy a ver Codigo fuente y en la lista del menu siempre sale asi:
<li><a href=...
<li><a href=....
<li><a href=....

Yo quisiera, porque he visto en un foro, que cuando se haga clic en la pestaña del menu se agregue la etiqueta class="active".

Por ejemplo Nesil viene por defecto con esto
Código PHP:
<li class="active"><a href="{$mybb->settings['bburl']}/index.php" >Foro</a></li>
<
li><a href="{$mybb->settings['bburl']}/chatbox.php" >ChatBox</a></li>
<
li><a href="{$mybb->settings['bburl']}/misc.php?page=photoshop" >Photoshop</a></li>
<
li><a href="{$mybb->settings['bburl']}/misc.php?page=cartelera" >Cartelera</a></li>
<
li><a href="{$mybb->settings['bburl']}/memberlist.php" >Miembros</a></li>
<
li><a href="{$mybb->settings['bburl']}/search.php" >Buscar</a></li>
                </
ul

Por eso cuando se hace clic en otra pestaña, la plantilla sigue con class"active" en Foro.

Pero he visto en un foro que cuando hace clic en Miembros. Su codigo fuente cambia poniendo el active en donde se está: Ejemplo:
Código PHP:
<li><a href="{$mybb->settings['bburl']}/index.php" >Foro</a></li>
<
li><a href="{$mybb->settings['bburl']}/chatbox.php" >ChatBox</a></li>
<
li><a href="{$mybb->settings['bburl']}/misc.php?page=photoshop" >Photoshop</a></li>
<
li><a href="{$mybb->settings['bburl']}/misc.php?page=cartelera" >Cartelera</a></li>
<
li class="active"><a href="{$mybb->settings['bburl']}/memberlist.php" >Miembros</a></li>
<
li><a href="{$mybb->settings['bburl']}/search.php" >Buscar</a></li>
    </
ul

No lo hago de la forma anterior porque si pongo un Pestaña en el menú redireccionando a un subforo por ejemplo "Humor" no voy a tener en donde agregar el id="humor" que se les agrega a los body, Porque esto sería un subforo.

Por eso quiero saber si alguien sabe como hacerlo de la forma como dije.

Gracias por ayudar.
Pues el que se cambie el class="active" de sitio... Tiene que ser con PHP, ya que solo hay una plantilla para todo el header.

Y siento decirte que de PHP no sé casi nada... Sad
No amigo tendrás que jugar con el PHP ya que así no se puede identificar el link a que has activo ya que como solo hay un header. por ejemplo puedes usar condiciones, entre otras formas aunque no se si haya una función que puedas utilizar que ya traiga mybb, también puedes ver el navigation para ver como puedes hacerlo.
Última modificación: 28 Jul, 2011, 4:30 pm por ermarco.
No estoy demasiado seguro, pero prueba con esto:

Código:
<li <if THI_SCRIPT = "index.php" then> class="active"</if>><a href="{$mybb->settings['bburl']}/index.php" >Foro</a></li>
<li <if THI_SCRIPT = "chatbox.php" then> class="active"</if>><a href="{$mybb->settings['bburl']}/chatbox.php" >ChatBox</a></li>
<li <if THI_SCRIPT = "misc.php?page=photoshop" then> class="active"</if>><a href="{$mybb->settings['bburl']}/misc.php?page=photoshop" >Photoshop</a></li>
<li <if THI_SCRIPT = "misc.php?page=cartelera" then> class="active"</if>><a href="{$mybb->settings['bburl']}/misc.php?page=cartelera" >Cartelera</a></li>
<li <if THI_SCRIPT = "memberlist.php" then> class="active"</if>><a href="{$mybb->settings['bburl']}/memberlist.php" >Miembros</a></li>
<li <if THI_SCRIPT = "search.php" then> class="active"</if>><a href="{$mybb->settings['bburl']}/search.php" >Buscar</a></li>
Abdón ese code es de Sama34?
Por que el lo hizo igual y yo le di una solución:
Código PHP:
switch(THIS_SCRIPT)
{
case 
'portal.php':
$Portal " class=\"active\"";
break;
case 
'index.php':
$Index " class=\"active\"";
break;

Código PHP:
<li{$Portal}><a href="{$settings['bburl']}/portal.php">Portal</a></li>
<
li{$Index}><a href="{$settings['bburl']}/">Index</a></li
Es THIS_SCRIPT y Un sólo =, es igual a igualación osea que se activarían todas las pestañas, la forma correcta son dos ==.

Pozinius (No sé escribir tu nombre xD perdona) pon el código de switch en la plantilla header. y listo, si quieres añadir más módulos dímelo y te pongo el code completo.

PD: Este método me lo inventé yo para quitar lo de <body class="index" ||> (Lo de || lo he puesto por que si no se va el código xDD) y demás y una demo es mi web. Big GrinD
Última modificación: 29 Jul, 2011, 8:39 am por juan.