Poizonus   26 Jul, 2011, 1:29 pm
#1

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
<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:
#menu {
	background: url(images/nesil/menu_bg_baslar.png) repeat-x;
	position: absolute;
	top: 150px;
	right: 0px;
        width: 100%;
	padding-left: 0px;
	font-family: Tahoma, 'Trebuchet MS', Arial, sans-serif;
}

#menu ul {
	background: #016db0 url(images/nesil/menu_bg.png) repeat-x;
	list-style: none;
	margin: 0;
	padding-left: 100px;
	height: 34px;
}

#menu li {
	float: left;
	margin-top: 4px;
	margin-right: 10px;
}

#menu li a {
	color: #fff;
	padding: 4px 10px 1px;
	text-decoration: none;
	display: block;
	border-bottom: 0;
}

#menu li a:hover {
	color: #fff;
	border-bottom: 2px solid #fff;
	text-decoration: none;
}

#menu li.active a, #menu li.active a:hover {
	background: url(images/nesil/menu_bg_aktif.png) no-repeat top left;
	color: #333;
	padding: 4px 10px 4px 13px;
	border-bottom: 2px solid #fff;
}

#menu li.active {
	background: url(images/nesil/menu_bg_aktif2.png) no-repeat top right;
	padding-right: 4px;
	position: relative;
	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.
nentab   26 Jul, 2011, 1:34 pm
#2
Claro... Si te fijas en el header tienes puesto el active en el pestaña foro. Tendrías que hacerlo dinámico con PHP. O sino también puedes utilizar lo que se explica aquí: http://www.soportemybb.com/tema_Tutorial...aci%C3%B3n
Poizonus   26 Jul, 2011, 7:39 pm
#3
Nosé que estaré haciendo mal.
Hice todo igual . pero no se activa la pestaña.
Poizonus   27 Jul, 2011, 6:38 am
#4
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
<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:
<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.
nentab   28 Jul, 2011, 2:03 pm
#5
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
Saydead   28 Jul, 2011, 4:21 pm
#6
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.
nentab   29 Jul, 2011, 3:25 am
#7
No estoy demasiado seguro, pero prueba con esto:

<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>
Gypaete   29 Jul, 2011, 8:32 am
#8
Abdón ese code es de Sama34?
Por que el lo hizo igual y yo le di una solución:
switch(THIS_SCRIPT)
{
case 'portal.php':
$Portal = " class=\"active\"";
break;
case 'index.php':
$Index = " class=\"active\"";
break;
} 
<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.
  
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.