Cambiar orden de los Botones del NavBar

1antares1

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 May 2010
Mensajes
129
Hola amigos! Que tal.

Tengo una pequeña duda, que tiene una solución fácil, pero no la consigo o no la veo aún.

La cuestión es que existen botones arribas, en el navbar, como:

Inicio - Foro - Blogs - Novedades - Normas del Foro - Proyectos - Soporte


Ok, yo quisiera saber, como alterar el orden, es decir, como saber si colocar el de Proyectos antes de Normas del Foro y quede:

Inicio - Foro - Blogs - Novedades - Proyectos - Normas del Foro - Soporte


Pero como el Portal vB Advanced, al agregar una página, también se agrega un botón, quisiera saber si ése botón que agrega dicho portal, está dentro del navbar o en otra plantilla que yo tengo que mover.

Es decir, quisiera alterar el orden y saber, si TODOS los botones creados, sean con cualquier mod, todos están dentro del navbar.

Espero su respuesta y ayuda antes mi duda. Muchas gracias.
 

Andrés Durán

Xi
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
23 Abr 2009
Mensajes
4.371
Hola,

Depende de varias cosas .

Si hablas de los enlaces de vBulletin que por defecto se incluyen (Inicio, Foro, Blogs, Novedades [si utilizaras vBulletin Publishing Suite]), la única manera -que yo al menos conozco- de ordenarlos de forma distinta es editar directamente la plantilla navbar. Ahora, si estamos hablando de los enlaces que agregan otros productos que hayas instalado en el foro, dependerá de la programación del mismo. Paso a explicarte.

Los programadores de add-ons utilizan una funcionalidad muy especial de vBulletin llamada "hooks", o lugares de enganche. Estos "hooks" se encuentran en la mayoría de las plantillas de vBulletin, sirven para insertar datos en una ubicación determinada.

Por ejemplo:

La plantilla navbar, para que se puedan agregar botones a la misma, incluye 3 hooks llamados navtab_start, navtab_middle y navtab_end. Mediante un plugin, por ejemplo, yo puedo llamar a uno de esos "hooks" y renderizar allí un determinado contenido. Llamamos renderizar el agregar o insertar información en una zona donde existe un hook. Digamos que yo programé un add-on, creo un plugin que agregará al navbar un botón llamado "Chuta" al inicio; utilizo para ello el hook llamado navtab_start, lo llamo, y renderizo una plantilla personalizada que ha sido creada con mi add-on. El código PHP sería algo similar a esto:

PHP:
if (THIS_SCRIPT == 'chuta')   
        { 
            $vbulletin->options['selectednavtab'] = 'chuta_tab'; 
        } 
        $template_hook['navtab_middle'] .= vB_Template::create('chuta_tab')->render();

if (THIS_SCRIPT == 'chuta') = Si estoy en la página chuta.php,

$template_hook['navtab_middle'] = Utilizar el hook navtab_middle,

vB_Template::create('chuta_tab') = Registrar la plantilla chuta_tab,

->render(); = Y renderizar el contenido de esa plantilla en la parte donde el hook está disponible.


Así que puedes modificar el orden de los botones que agregan los add-ons de dos maneras:

* Si éstos disponen de entre su configuración una opción que te permita definir una posición personalizada
* Modificar los plugins de los add-ons y cambiar el nombre del hook
* Cambiar la posición de los hooks en la plantilla navbar
 

1antares1

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 May 2010
Mensajes
129
Muy buena y completa tu respuesta.

Entendí casi todo, sólo que me confunde algunas cositas.

Y bueno, lo de las sentencias, más o menos si las entiendo, ya que estudio programación y más que todo se trabajan con selección o ciclos. Así como el "IF".

Pero lo no entiendo son esos de "HOOKS". Por ejemplo, el HOOK del SEO, no consigo editar la frase. Esa frase debe existir de algún lado para modificarla, es decir, como se integra como un HOOK, puede venir directo de su web (La del SEO) y no escrita como tal en el paquete de instalación?

Es que tengo un error de imagen en el copyright que no me muestra y quisiera cambiarla.

Lo de los botones del NAVBAR, podrías decirme, en que parte se encuentra el de "NOVEDADES"?

Quisiera moverlo de lugar por lo menos, es que como está en inglés, no sé cuál es para moverlo.

Muchas gracias Durán por tu ayuda.

Saludos!
 

Andrés Durán

Xi
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
23 Abr 2009
Mensajes
4.371
Adivinando un poco, si te refieres al copyright de vBSEO, posiblemente esté incluido en uno de los tantos archivos de vBSEO, o en uno de sus plugins (AdminCP->Plugins y Productos->Administrar Plugina), y que la programación de dicho archivo o plugin utilice uno de los "hooks" localizados en la plantilla footer.

El botón "Novedades" se encuentra en la plantilla navbar, y su código es este:

Insertar CODE, HTML o PHP:
            <vb:if condition="$show['member']">
            <li  class="selected"><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a>
                <ul class="floatcontainer">
                    <li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post">{vb:rawphrase new_posts_nav}</a></li>
                    <li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_SocialGroupMessage">{vb:rawphrase new_group_messages_nav}</a></li>
                    <li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Event">{vb:rawphrase new_events_nav}</a></li>
                    {vb:raw template_hook.navbar_getnew_menu}
                    <li><a href="forumdisplay.php?{vb:raw session.sessionurl}do=markread&amp;markreadhash={vb:raw bbuserinfo.securitytoken}">{vb:rawphrase mark_forums_read}</a></li>
                </ul>
            </li>
            <vb:else />
            <li  class="selected"><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a>
                <ul class="floatcontainer">
                    <li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post">{vb:rawphrase todays_posts}</a></li>
                    <li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_SocialGroupMessage">{vb:rawphrase daily_group_message}</a></li>
                    <li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Event">{vb:rawphrase daily_events}</a></li>
                    {vb:raw template_hook.navbar_getdaily_menu}
                    <li><a href="forumdisplay.php?{vb:raw session.sessionurl}do=markread&amp;markreadhash={vb:raw bbuserinfo.securitytoken}">{vb:rawphrase mark_forums_read}</a></li>
                </ul>
            </li>
            </vb:if>
        <vb:elseif condition="$show['member']" />
            <li><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a></li>
        <vb:else />
            <li><a class="navtab" href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post" accesskey="2">{vb:rawphrase getnew_tab}</a></li>
        </vb:if>

Ese código también incluye los enlaces que se muestran en el submenú por debajo del botón "Novedades" cuando se haya pulsado sobre ese botón.