Ver la Versión Completa : Como cambiar el navbar?
Hola.
Bueno, creo que se llama navbar, xDD, es el menú superior donde estan los menus de: Panel de Control, Nuevos Mensajes, Buscar...etc...
Mi idea es la de cambiar el orden de estas opciones en dicho navbar, pero si fuese posible (lo he visto en un foro) poner opciones tanto arriba como abajo, me explico:
Por defecto viene que, a la izquierda esta el nombre del foro, a la derecha "Tú ultima visita" asi como las notificaciones, y justo debajo, las opciones/menus del navbar.
Bien, mi idea es crear un navbar por encima de "Tú última visita..." y dividir las opciones/menus entre la parte de arriba y la de abajo.
Creo que no me he explicado muy bien, pero sin un ejemplo gráfico me cuesta explicarme, xDD.
Y puestos en ello, querria añadir una opción/menú al navbar, por ejemplo, un pequeño icono de paypal para donar, que enlace a una parte del foro (que yo configure el link).
Un saludo!
Mi foro luce así:
Solo los usuarios registrados pueden ver enlaces
En la plantilla navbar tienes que buscar
$template_hook[navbar_buttons_right]
<if condition="$show['member']">
<td class="vbmenu_control"><a href="login.php?$session[sessionurl]do=logout&logouthash=$bbuserinfo[logouthash]" onclick="return log_out('$vbphrase[sure_you_want_to_log_out]')">$vbphrase[log_out]</a></td>
</if>
</tr>
</table>
</div>
Justo debajo yo he añadido esto (y más que no pongo):
<div style="0px">
<table width="$stylevar[outertablewidth]" cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<tr>
<td id="portal" class="vbmenu_control"><a href="index.php$session[sessionurl_q]">Portal</a></td>
<td id="foro" class="vbmenu_control"><a href="indexvB.php$session[sessionurl_q]">Foros</a></td>
<td id="anuncios" class="vbmenu_control"><a href="forumdisplay.php$session[sessionurl_q]?f=18">Anuncios</a></td>
<td id="noticias" class="vbmenu_control"><a href="forumdisplay.php$session[sessionurl_q]?f=9">Noticias</a></td>
<td id="igeneral" class="vbmenu_control"><a href="forumdisplay.php$session[sessionurl_q]?f=14">I.General</a><script type="text/javascript"> vbmenu_register("igeneral"); </script></td>
<td id="icultural" class="vbmenu_control"><a href="forumdisplay.php$session[sessionurl_q]?f=13">I.Cultural</a><script type="text/javascript"> vbmenu_register("icultural"); </script></td>
<td id="ctecnica" class="vbmenu_control"><a href="forumdisplay.php$session[sessionurl_q]?f=10">C.Técnica</a><script type="text/javascript"> vbmenu_register("ctecnica"); </script></td>
<td id="ddirectas" class="vbmenu_control"><a href="forumdisplay.php$session[sessionurl_q]?f=12">D.Directas</a><script type="text/javascript"> vbmenu_register("ddirectas"); </script></td>
<td id="alternativa" class="vbmenu_control"><a href="forumdisplay.php$session[sessionurl_q]?f=6">D.Alternativa</a><script type="text/javascript"> vbmenu_register("alternativa"); </script></td>
</tr>
</table>
</div>
Deberás dividir una parte de los controles tal como:
<div class="tborder vbseo_top_menu" style="padding:$stylevar[cellspacing]px; border-top-width:0px">
<table cellpadding="0" cellspacing="0" border="0" align="center">
<tr align="center">
<if condition="$show['member']">
<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>
</if>
<if condition="$show['registerbutton']">
<td class="vbmenu_control"><a href="register.php$session[sessionurl_q]" rel="nofollow">$vbphrase[register]</a></td>
</if>
$template_hook[navbar_buttons_left]
<td class="vbmenu_control"><a rel="help" href="faq.php$session[sessionurl_q]" accesskey="5">$vbphrase[faq]</a></td>
<if condition="$show['communitylink'] AND $show['popups']">
<td class="vbmenu_control"><a id="community" href="$show[nojs_link]#community" rel="nofollow" accesskey="6">$vbphrase[community]</a> <script type="text/javascript"> vbmenu_register("community"); </script></td>
<else />
<if condition="$show['memberslist']">
<td class="vbmenu_control"><a href="memberlist.php$session[sessionurl_q]">$vbphrase[members_list]</a></td>
</if>
<if condition="$show['quick_links_groups']">
<td class="vbmenu_control"><a href="group.php?$session[sessionurl]">$vbphrase[social_groups]</a></td>
</if>
</if>
</tr>
</table>
O en cualquier otro lugar que tu creas conveniente, respetando los cierres de etiquetas.
Debes terminarlo en
</tr>
</table>
y comenzar el siguiente bloque con
<div class="tborder vbseo_top_menu" style="padding:$stylevar[cellspacing]px; border-top-width:0px">
<table cellpadding="0" cellspacing="0" border="0" align="center">
<tr align="center">
Ten en cuenta que en
div class="tborder vbseo_top_menu" style="...... el class="tborder vbseo_top_menu" puede ser diferente según el estilo.
Corta el primer bloque y pégalo justo debajo de
<!-- breadcrumb, login, pm info -->
Como ves no es difícil y si te equivocas la reviertes al estado anterior (antes de tocar nada copia todo el texto y guardalo en un bloc de notas)
Espero que te valga.
Si quieres me pasas la plantilla navbar del estilo que quieres modificar por MP, me dices donde quieres romperla y te la devuelvo hecha.
Salud2
Salud2
Ok, zenkius :)
Me ha costado pero al final creo que he podido hacerlo un poco mas o menos como yo queria.
No obstante, fijandome en tu foro y otros he visto algo en el mio que si me gustaria cambiar:
En el navbar, el link de Calendario aparece para todos los users (registrados e invitados) me gustaria que solo apareciese a registrados, incluso, desactivar esa funcion en el navbar para todos, porque creo, que poca funcion tiene en mi foro...
Y por otro lado, si accedes como invitado, en el navbar aparece el link de Comunidad (clickable como desplegable) y si se le clica solo aparece una opcion (por ello veo que poca utilidad tiene que sea desplegable a los invitados) que aparece el link de Miembros. Hay opcion de desabilitarlo como desplegable a los invitados o mejor aun, desabilitar esa opcion a los invitados?
Como siempre, muchas gracias y un saludo!!!
Te miro donde exáctamente y esta tarde te lo respondo.
Salud2
Desactivar el calendario afecta a los cumpleaños y otros eventos de ese estilo.
Para desactivar el calendario de los visitantes debes ir al panel de gestión -> Permisos de calendario -> en los grupos que no quieras que tengan acceso clica en eloos (uno cada vez) y configúralo a tu gusto. Si desactivas (niegas verlo) a un grupo, no verán el enlace.
Salud2
Zenkius lms!
No obstante, me surge una duda:
En tu primera linea me dices, desactivar el calendario afecta a los cumpleaños y otros eventos, la idea es que no afecte, pero por ejemplo, si siguiendo tus pasos en la config hago que el calendario no se muestre a los invitados, eso hara que no muestre los cumpleaños del dia a los invitados o a algo mas?
Como siempre, muchas zenkius!
Dark Neo
19/10/2009, 19:58
Sigue las líneas de la condicional. Puedes agregarlo después de enlaces o buscar, no se algo que no ponga condicional.
Y antes de ello la imágen con su enlace respectivo.
<div style="0px">
<table width="$stylevar[outertablewidth]" cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<tr>
<td id="portal" class="vbmenu_control"><img src="images/imagen.gif"><a href="index.php$session[sessionurl_q]">Portal</a></td>
<td id="foro" class="vbmenu_control"><a href="indexvB.php$session[sessionurl_q]">Foros</a></td>
</tr>
</table>
</div>
Esto es por decir algo que la carpeta images contiene el archivo gif o jpg o x de imágen a mostrar para cada enlace, y lo demás son los enlaces.
Saludos...
Zenkius lms!
No obstante, me surge una duda:
En tu primera linea me dices, desactivar el calendario afecta a los cumpleaños y otros eventos, la idea es que no afecte, pero por ejemplo, si siguiendo tus pasos en la config hago que el calendario no se muestre a los invitados, eso hara que no muestre los cumpleaños del dia a los invitados o a algo mas?
Como siempre, muchas zenkius!
Eso hará que no muestre el calendario a ningún invitado. En principio no hace nada más.
Salud2
Sigue las líneas de la condicional. Puedes agregarlo después de enlaces o buscar, no se algo que no ponga condicional.
Y antes de ello la imágen con su enlace respectivo.
<div style="0px">
<table width="$stylevar[outertablewidth]" cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<tr>
<td id="portal" class="vbmenu_control"><img src="images/imagen.gif"><a href="index.php$session[sessionurl_q]">Portal</a></td>
<td id="foro" class="vbmenu_control"><a href="indexvB.php$session[sessionurl_q]">Foros</a></td>
</tr>
</table>
</div>
Esto es por decir algo que la carpeta images contiene el archivo gif o jpg o x de imágen a mostrar para cada enlace, y lo demás son los enlaces.
Saludos...
Con esto te refieres a añadir yo algun tipo de imagen/enlace personalizado mio?
Eso hará que no muestre el calendario a ningún invitado. En principio no hace nada más.
Salud2
Asi lo hice y lo que sucedió es que, sigue mostrando el menu/link de calendario, solo que, si clickas en el como invitado, te dice que debes estar registrado para verlo y te muestra la pantalla de loggin.
La idea era quitarlo para los invitados (que no se muestre) aunque tampoco molesta mucho, pero asi, vamos aprendiendo, xD.
Gracias y saludos a ambos :)
Edita la plantilla navbar del estilo al que lo quieras aplicar:
Busca:
<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
Cámbialo por:
<if condition="$usergroupid">
<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td></if>
O sea, sólo has añadido <if condition="$usergroupid"> al inicio y </if> al final de la frase que has buscado.
El enlace debe desaparecer de la vista de cualquier usuario aunque, si conoces su ruta directa (.....calendar.php), podrás acceder a él tú y cualquiera que tenga permisos para verlo.
Te lo explico: vBulletin SIEMPRE asigna un grupo al usuario que esté viendo el foro. La condición que debe cumplir para no verlo es que sea de cualquier grupo ya que no se puede cumplir nunca esta condición. Como resultado está el que el enlace desaparece para TODOS los grupos. O sea, no lo ve nadie.
Salud2
Ok lms, gracias por la explicación :)
Ok, entendido ello, no lo mostrará a nadie (a no ser que tecleemos ruta directa), ya que la condicion no se cumple, pero vamos a poner el caso de que lo muestre a todos excepto a invitados, serviria en el if un colocar los id's de grupo que si quiero que lo vean con un "or"?
Salu2!
Dark Neo
21/10/2009, 20:38
Hoy lo revizo lo del calendario y ya te digo mañana que cosa.
Un saludo y esperemos que todo salga bien ...
Ok lms, gracias por la explicación :)
Ok, entendido ello, no lo mostrará a nadie (a no ser que tecleemos ruta directa), ya que la condicion no se cumple, pero vamos a poner el caso de que lo muestre a todos excepto a invitados, serviria en el if un colocar los id's de grupo que si quiero que lo vean con un "or"?
Salu2!
Sí.
Salud2
Dark Neo
22/10/2009, 19:49
Para hacer lo que tu quieres realiza lo siguiente en cada cosa que desees para el calendario solo mostrado a los usuarios registrados:
Busca por:
<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
Y sustituyelo por:
<if condition="$show['member']">
<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td></if>
Si le quieres añadir imágen solo has esto:
<if condition="$show['member']">
<td class="vbmenu_control"><img src="images/imagen.gif" width="12" height="12"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td></if>
Saludos y espero que te sirva la información...
Gracias Dark Neo!
Si, buena info :)
Viendo el condicional, deduzco (corrigeme si me equivoco) que, cualquier usuario que sea eso, usuario (independientemente del grupo al que pertenezca) lo verá ya que es un miembro, y no invitado.
Gracias y un saludo!!! :)
Dark Neo
22/10/2009, 20:28
Si, asi es y si esto te falla por decir ya cerre sesión y me voy a otro link y me lo muestra, pues aqui te dejo el código corregido para algunas versiones de vb que no respetan dicha condicional, solo es agregarle un else, pero mejor te dejo el código que hable por si mismo.
<if condition="$show['member']">
<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
<else />
</if>
Y con imágen:
<if condition="$show['member']">
<td class="vbmenu_control"><img src="images/imagen.gif" width="12" height="12"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td><else /></if>
Saludos esto es todo por hoy ya que al entrar en mis pruebas he mirado este error y lo corregi en esta manera que explico aqui arriba un saludo...
Y si es como mencionas si es usuario no registrado pues no le mostrara el calendario y de lo contrario si lo hará.
Aún así, si el usuario teclea la url directa al calendario, puede acceder a él.
Otro sistema (y el más seguro) es renombrar calendar.php (en el root del foro) a 1calendar.php o parecido (con un nombre que te sea sugerente.
El modo de hacer desaparecer el vínculo ya lo(s) conoce(s) y el modo de evitar que vayan a él ahora también.
Como se suele decir, "muerto el perro se acabó la rabia" (desaparecido el archivo php que lo gestiona, ya no hay calendario que valga, aunque aparezca el vínculo)
Salud2
Ok, gracias a ambos!
La idea inicial es que, a los invitados, no se les muestre el link de calendario, si teclean la url, en principio no tiene mayor importancia, es solo por cuestiones de "estetica" en el navbar, ya que a un invitado, que le aparezca el calendario....casi prefiero que no.
Ahora me toca probarlo, voy a insertar imagen redireccionando a otro link, os posteare resultados.
Lo dicho, gracias a ambos :)
Salu2.
A la espera.
Salud2 (y de nada)
Pues debo de decir que quedo a las mil maravillas, eso si, me costó un ratin mas de lo que pensaba, pero con vuestras indicaciones....yo creo que ha quedado francamente bien :)
Calendario ahora solo lo muestra a los users, un invitado no lo ve, si teclea la url lo verá, pero en principio, no le doy mucha importancia, ahora sale como yo queria, que no lo mostrase a los invitados.
Y luego añadi un nuevo link en el navbar con imagen y linkado, y ese salió a la primera con vuestras indicaciones :)
Lo dicho, gracias y un saludo!
¡A mandar! Es bueno que te haya ido bien. Me alegro de ello. ¡DN, eres maravilloso!
Salud2
Mi foro luce así:
....
El post completo está aquí (Solo los usuarios registrados pueden ver enlaces)
Salud2
Salud2
Vale compadre, lo modifique a mi foro, quedo bueno!!!! :cool:
salu2
Bueno es que valga. Para eso están estos foros. Para ayudarnos los unos a los otros.
Salud2
Dark Neo
26/10/2009, 20:54
Gracias por todo y por sus comentarios.
Esperemos que haya servido y no haiga, jeje como vi por ahi, pero bueno, está página es para ayudarnos y así complementar nuestros conocimientos y poder resolver nuestras dudas, no manejamos al 100% el tema, pero entre todos creo que seguimos haciendo una excelente labor en este foro.
... pero bueno, está página es para ayudarnos y así complementar nuestros conocimientos y poder resolver nuestras dudas, no manejamos al 100% el tema, pero entre todos creo que seguimos haciendo una excelente labor en este foro.
Estoy contigo, Dark Neo.
Salud2
Claro que si, servido y mucho, en mi caso, aprendí algo que desconocia (aunque aun son muchas las cosas que desconozco de vb).
Salu2 :)
Todos estamos para aprender.
Salud2
Powered by vBulletin™ Version 4.0.5 Copyright © 2010 vBulletin Solutions, Inc. All rights reserved.