• ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión
Añadir pestañas de navegación

Tutorial Añadir pestañas de navegación

Para XenForo...
  1. 1.0.x
  2. 1.1.x
  3. 1.2.x
Autor
lms
Imagen del autor
Avatar del autor
URL de XenForo
http://xenforo.com/community/threads/add-own-navigation-tabs.5265/
Es un tutorial MUY BÁSICO sobre cómo añadir tus propias pestañas.
Mira el php para más info
1. Crea tu archivo php de clase en el directorio de XenForo. Lo he llamado lmsTab
PHP:
<?php
class XenForo_lmsTab
{
/**
  * añade la pestaña "lms" a la barra de navegación (navbar)
* @param array $extraTabs
* @param string $selectedTabId
*/
public static function addNavbarTab(array &$extraTabs, $selectedTabId)
{
  $extraTabs['lms'] = array(
  'title' => new XenForo_Phrase('lms_paginainformacion_navbartitle'),//frase con el título del enlace
  'href' => XenForo_Link::buildPublicLink('lms'),
  'linksTemplate' => 'lms_paginainformacion_navbar', //Si quieres tener un "sub menú" puedes crear una plantilla para esto
  'position' => 'middle' //desde la beta 5, puedes elegir la posición donde se coloca el enlace. Posibles posiciones: middle, end y home
);
}
}

Plantilla para los enlaces del sub-menú de pestaña
PHP:
<ul class="secondaryContent blockLinksList">
<xen:if is="{$visitor.user_id}"><li><a href="{xen:link 'watched/threads'}">{xen:phrase watched_threads}</a></li></xen:if>
<li><a href="{xen:link 'recent-activity'}">{xen:phrase recent_activity}</a></li>
<li><a href="{xen:link 'find-new/threads'}">{xen:phrase whats_new}</a></li>
<li><a href="{xen:link 'help'}">{xen:phrase help}</a></li>
<xen:if is="{$perms.admin}">
  <li><a href="{xen:link 'pagina/quequieras'}">{xen:phrase pagina_que_quieras}</a></li>
</xen:if>
</ul>

Necesitas una clase con un método estático.
El método tiene unos parámetros (como se dice en la documentación^^)

2. Crea un detector de eventos de código (Code Event Listener) con "detectores" a las pestañas de navegación.
yo dijo:
Llamado cuando se preparan las pestañas y enlaces que se colocan en la página principal de navegación. Puedes usar este evento para añadir tus propias pestañas.
Argumentos:
array &$extraTabs - puedes colocar pestañas adicionales en esta matríz. Cada pestaña debe identificarse con una única clave (mira $selectedTabId) y contener en la matríz las siguientes claves:
title - título de la pestaña principal
href - enlace a la raíz de la pestaña
selected - booleano que determina qué pestaña está seleccionada actualmente
linksTemplate - nombre de la plantilla que contiene los enlaces a mostrar en la segunda fila. El comienzo del HTML de esta plantilla debe ser una cadena <ul class="secondaryContent blockLinksList">.
$selectedTabId - nombre de la pestaña seleccionada. Selecciona tu pestaña si coincide.

Sólo queda configurar el nombre de la clase y método:
Devolución de llamada a ejecutar (Execute Callback): xenforo_lmsTab :: addNavbarTab

Si usas una frase para el título de la pestaña DEBES poner en caché la frase.
!Te ahorrará una consulta global a la base de datos!

Artículo original (en inglés): [url='http://xenforo.com/community/threads/add-own-navigation-tabs.5265/']Add own Navigation Tabs[/URL]
Autor: ragtek

Salud2
27.png28.png 29.png 30.png
Autor
lms
Visitas
1.792
Primer lanzamiento
Última actualización
Votar
0,00 estrella(s) 0 calificaciones

Más recursos de lms

Arriba