PDA

Afficher la version complète : Créer un onglet dans la barre de navigation avec un Module (Plugin)



mitch84
29/11/2009, 08h43
Voici une méthode très simple pour créer un nouvel onglet dans la barre de navigation, avec un sous-menu pour aller avec.
Il suffit d'avoir une seule condition unique pour que votre onglet soit affiché.

Ce que vous avez à faire, c'est un plugin pour créer le lien de la barre de navigation avec un sous-menu qui lie le Lien 1, Lien 2, et le lien 3, et chaque lien renvoie vers une fonction de type drop/drown (comme sur la photo) et affiche les liens inférieurs(sublinks). Voir photo en bas du post.


Cet article ne doit PAS être utilisé juste pour ajouter un lien vers un sous-menu.
Il est fait pour la création d'onglets dans la barre de navigation avec tous les sous-menus.
Là encore, si tout ce que vous voulez est d'ajouter des sous-menus à un onglet existant, cet article n'est pas fait pour vous.

Cet article est également à l'usage des utilisateurs qui connaissent les rudiments des conditions et savent les écrire.
La barre de navigation n'est pas vraiment une chose facile à comprendre,
alors si vous ne savez pas comment écrire une condition n'essayez pas.


Lynne (http://www.vbulletin.org/forum/member.php?u=65230) est l'auteur de ce Tutoriel, (http://www.vbulletin.org/forum/showthread.php?t=226914) merci de son accord.


Installation
Alors maintenant allez dans l'ACP (Modules & produits) et ajouter un module

et remplissez les champs suivants:



Emplacement du crochet : process_templates_complete



Titre : New Tab for Navbar



Ordre d'exécution : 5



Code PHP du module :


$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'yourpage')
{
$vbulletin->options['selectednavtab']='unique_name';
$tabselected = ' class="selected"';
$tablinks = ' <ul class="floatcontainer">
<li><a href="link1.php">Link 1</a></li>
<li class="popupmenu">
<a href="javascript://" class="popupctrl">Drop Down</a>
<ul class="popupbody popuphover">
<li><a href="sublink1.php">SubLink 1</a></li>
<li><a href="sublink2.php">SubLink 2</a></li>
<li><a href="sublink3.php">SubLink 3</a></li>
</ul>
</li>
<li><a href="link2.php">Link 2</a></li>
<li><a href="link3.php">Link 3</a></li>
</ul> ';

}
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="link.php">Nav Link</a>'.$tablinks.'</li>' ;Prenez note de ceci:



if (THIS_SCRIPT == 'yourpage') La condition doit être unique!!i si vous mettez une condition déjà utilisée par un autre onglet, ils seront mis en surbrillance et le sous-menu peut ne pas s'afficher correctement.




$vbulletin->options['selectednavtab']='unique_name';
seletednavtab , encore une fois le nom doit être unique, si vous avez deux onglets avec le même nom, ils seront mis en surbrillance.




$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="link.php">Nav Link</a>'.$tablinks.'</li>' ;
Vous devez utiliser un template_hook différent ici, ca dépend juste de l'endroit ou vous voulez que l'onglet apparaisse,
ici, navtab_start and navtab_middle sont encore disponibles.

Ombre
29/11/2009, 10h19
Bonjour, et de trois, merci pour cette traduction de tutoriel :)

Simon
29/11/2009, 10h34
Merci pour la traduction :)

Allan
29/11/2009, 10h48
Tutoriel très pratique, merci a toi ;)

DiDzI
29/11/2009, 21h26
Tu t'arrête jamais ?

Merci :)

Verbagraph
01/12/2009, 21h33
Ha super!!!

alors la 1ere partie j'ai compris - le 1ere code - module

Mais après ben rien compris :D - 2eme code - je mets ça ou ou je crée quoi?

pour le reste ben pareil :D

Une explication pour un nul comme moi s'impose :D

Merci pour vos réponses !!

mitch84
02/12/2009, 10h34
c'est quoi que tu comprends pas exactement?

Verbagraph
02/12/2009, 11h04
ben le 2eme code tu le met ou? et les autres aussi...

j'ai bien fait le 1er mais après je sais pas comment créer les autres..

Merci de tes réponses...;)

mitch84
02/12/2009, 12h08
oups, désolé, un bout de code n'avais pas mis entre les balises

Verbagraph
02/12/2009, 12h44
Merci pour ta réponse!!!

mais j'arrive sur ça

The requested URL /link.php was not found on this server.

http://moe.mabul.org/up/moe/2009/12/02/img-114935p9o93.png


Je n'ai pas comme montre l'image....

http://www.vbulletin-ressources.com/forum/attachment.php?attachmentid=11196&d=1259476979


En fait il faut créer un template
$template_hook[navbar_start]
$template_hook[navbar_end]

? si oui comment les créer ....


;)

Simon
11/12/2009, 20h32
Bonsoir,

The requested URL /link.php was not found on this server.link.php n'est qu'un exemple. A toi d'indiquer le chemin de ta/tes page(s) à associer à l'onglet.

En fait il faut créer un template
$template_hook[navbar_start]
$template_hook[navbar_end]Même chose que pour la dernière ligne du premier code: un module qui place lors de la génération des templates le code dans l'array $template_hook.

Verbagraph
15/12/2009, 11h11
Merci!!! c'est good

TeKnoZeus
01/04/2010, 18h54
Bonjour,
Je voudrais savoir comment faire pour que ca ouvre un nouvelle onglet avec un contenue du genre comme sa :
13511

Simon
02/04/2010, 19h52
Bonjour,
Je voudrais savoir comment faire pour que ca ouvre un nouvelle onglet avec un contenue du genre comme sa :
13511Bonsoir,
Euuh, il faudrait que tu écrive ton propre mod qui puisse générer cet affichage. Tu trouveras sans doute sur internet des modèles.

tusk
20/05/2010, 03h41
Bonjour :)

Est-ce que qq'un pourrait me dire ce qu'il me manque ?

l'emplacement du crochet est bien process_template_complete
le titre de mon module est "Chat"

Le Code est le suivant :


$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'Chat')
{
$vbulletin->options['selectednavtab']='Chat';
$tabselected = 'class="selected"';
}
$template_hook['navtab_middle'] .= '<li'.$tabselected.'><a class="navtab" href="misc.php?do=cchatbox">Chat</a>'.$tablinks.'</li>' ;



Donc j'ai juste épuré le code donné dans ce tut, pour afficher la page de Vsa Chatbox 3.1.6
j'ai ôter les sous menu pour le moment



Le nouveau bouton dans la navbar s'affiche bien
Le lien fonctionne bien
Cependant, le bouton ne reste jamais en surbrillance (et les sous-menus ne s'affichaient pas quand je les avait laissé)

En fait le premier bouton de la liste (forum) est selectionné quan je clique sur mon bouton 'Chat' :( (même si la page se charge bien en bas)

Merci de l'aide!

tusk
28/05/2010, 00h14
Bon j'ai finallement installé le module "Vbh - Add new tabs " et cela fait le boulot ;)

merci

xaltaz
30/05/2010, 02h51
Merci pour l'astuce =)


Même chose que pour la dernière ligne du premier code: un module qui place lors de la génération des templates le code dans l'array $template_hook.

Je n'ai pas très bien compris, que faut t-il que je fasse exactement pour l'affichage des forums comme l'indique le screen...?

xaltaz
01/06/2010, 21h28
Up :)

KAISER JDVIRUS
04/02/2012, 14h59
Je relance ce sujet car jusqu'à aujourd'hui j'ai toujours réussis cette manip, mais là une fois mon new bouton créer dans la navbar, ma redirection ne se fait pas correctement.

Voici le code:
$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'site')
{
$vbulletin->options['retour']='retour';
$tabselected = ' class="selected"';
$tablinks = ' <ul class="floatcontainer">
<li><a href="link1.php">Link 1</a></li>
<li class="popupmenu">
<a href="javascript://" class="popupctrl">Drop Down</a>
<ul class="popupbody popuphover">
<li><a href="sublink1.php">SubLink 1</a></li>
<li><a href="sublink2.php">SubLink 2</a></li>
<li><a href="sublink3.php">SubLink 3</a></li>
</ul>
</li>
<li><a href="link2.php">Link 2</a></li>
<li><a href="link3.php">Link 3</a></li>
</ul> ';

}
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab"href="teamksr.com">Retour sur le site</a>'.$tablinks.'</li>' ;

Ombre
04/02/2012, 17h12
Je relance ce sujet car jusqu'à aujourd'hui j'ai toujours réussis cette manip, mais là une fois mon new bouton créer dans la navbar, ma redirection ne se fait pas correctement.

Voici le code:Bonjour,

Je sais d'ou vient le soucis, il manque le mot magique au début de ta phrase.

KAISER JDVIRUS
04/02/2012, 17h27
Bonjours, désoler j'ai écrit un peu vite. beaucoup même. :fool:

Ombre
04/02/2012, 18h49
La page que tu as mis en lien sur l'onglet, est une page externe ou interne à ton forum?

KAISER JDVIRUS
04/02/2012, 18h53
Externe, c'est un lien pour repartir sur le site, qui est la racine du répertoire où est installé le forum.

Ombre
04/02/2012, 19h01
Alors place pour voir l'url au complet et non pas l'url relative du lien, donc avec le http://....

KAISER JDVIRUS
04/02/2012, 19h47
Ok ça marche. Merci beaucoup pour ton aide.

Autre chose, le code
<li><a href="sublink1.php">SubLink 1</a></li>
<li><a href="sublink2.php">SubLink 2</a></li>
<li><a href="sublink3.php">SubLink 3</a></li>
Sert bien à ajouter des onglet ?