Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 4 Articles
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
[HOW TO - vB4] Create a New Tab in the navbar
Lynne's Avatar
Lynne
Join Date: Sep 2004
Posts: 41,180

 

California/Idaho
Show Printable Version Email this Page Subscription
Lynne Lynne is offline 10-26-2009, 10:00 PM

Here's a pretty simple method for creating a new tab in the navbar, along with a submenu to go along with it. All you need is a unique condition for when your tab will be shown. What you will be making is a plugin to create the Nav Link along with a submenu which Link 1, Link 2, Link 3, and Drop Down which then drops down and has SubLink 1, SubLink 2, and SubLink 3. This is shown below.

NOTE: This is for 4.0.x and 4.1.x. In 4.2.x, you should be using the Navigation Manager.




This article is NOT to be used just to add another link to a submenu. It is for creating the Nav Link tab along with all the submenus. Again, if all you want is to add submenus to an existing tab, then this article is NOT for you!!!

This article is also for use by users who understand the basics of conditions and can write them. The navbar is not really an easy thing to play with if you don't know what you are doing - I think even Wayne said it had issues - so don't try this if you don't understand how to write a condition.

OK, with that out of the way....

Here's the basic template for making your new tab:

Create a plugin (Plugins & Products) > Add New Plugin:
hook location - process_templates_complete *
Title - New Tab for Navbar
Execution Order - 5
(* I used to have this listed as global_state_check but then noticed vb themselves use the process_templates_complete hook location, so I changed it.)

PHP Code:
$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>' 
Things to take note of:

PHP Code:
if (THIS_SCRIPT == 'yourpage'
Your condition MUST be unique! If you use a condition that is also going to evaluate to true for another tab, then they will both be highlighted and the wrong submenu may show up underneath.

PHP Code:
$vbulletin->options['selectednavtab']='unique_name'
The 'seletednavtab' must also be a unique name. Again, if you have two tabs with the same 'selectednavtab' name, then both tabs will be highlighted.

PHP Code:
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="link.php">Nav Link</a>'.$tablinks.'</li>' 
You may use a different template_hook here - it just depends on where you want your tab to be - navtab_start and navtab_middle are also available.


ragtek also posted an article to do the same thing only using a template with the plugin - [HOW TO - vB4] Create a New Tab in the navbar (with template)



Originally posted on vb.org 2009-10-27.

Other related articles of possible interest:
[HOW TO - vB4] Remove the vB Default Navtabs
[HOW TO - vB4] Create your own vBulletin page
Attached Images
File Type: png vb4_nav_links.png (21.8 KB, 0 views)
Reply With Quote
  #202  
Old 03-12-2010, 11:09 PM
DaMani DaMani is offline
 
Join Date: Sep 2009
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

i created it, but i dont get submenu?
Look here:
http://project-mp.com/index.php

Titel in navbar is "Webradio"
Reply With Quote
  #203  
Old 03-12-2010, 11:45 PM
Jabong82 Jabong82 is offline
 
Join Date: Feb 2010
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi Lynne great tutorial I was able to get it to work fine on some tabs, but I am having problems when I have "conflicting" items.

For example, I am trying to create a separate tab for the "usercp.php" page called "My Forums", however I guess the usercp.php page is already tied to the main Forum tab. So when I click the new tab I created, I get both tabs highlighted and the submenus overlap.

I am not certain how to make the new tab "unique" if that makes sense. Any help would be appreciated thank you.
Reply With Quote
  #204  
Old 03-13-2010, 02:01 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DaMani View Post
Hello,

i created it, but i dont get submenu?
Look here:
http://project-mp.com/index.php

Titel in navbar is "Webradio"
What is the condition you used to show the sub-forum? It needs to be valid, otherwise the Forum tab is the default tab.

Quote:
Originally Posted by Jabong82 View Post
Hi Lynne great tutorial I was able to get it to work fine on some tabs, but I am having problems when I have "conflicting" items.

For example, I am trying to create a separate tab for the "usercp.php" page called "My Forums", however I guess the usercp.php page is already tied to the main Forum tab. So when I click the new tab I created, I get both tabs highlighted and the submenus overlap.

I am not certain how to make the new tab "unique" if that makes sense. Any help would be appreciated thank you.
You may have to edit the navbar template where the condition for showing the submenu for the usercp is. This is in the navbar template:
<vb:elseif condition="$vboptions['selectednavtab']=='usercp'" />

So, you'll need to change that to say "if selectednavtab is usercp but NOT whatever-your-condition-is"
Reply With Quote
  #205  
Old 03-13-2010, 10:58 AM
DaMani DaMani is offline
 
Join Date: Sep 2009
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
What is the condition you used to show the sub-forum? It needs to be valid, otherwise the Forum tab is the default tab.


You may have to edit the navbar template where the condition for showing the submenu for the usercp is. This is in the navbar template:
<vb:elseif condition="$vboptions['selectednavtab']=='usercp'" />

So, you'll need to change that to say "if selectednavtab is usercp but NOT whatever-your-condition-is"
I dont understand, my english is not so good. What i must do?
Reply With Quote
  #206  
Old 03-13-2010, 10:06 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't know how else to explain it. In the navbar code, there is a submenu set to be displayed when you are in the usercp. You are trying to create a different one to show. The two conditions cannot exist at the same time. You need to have UNIQUE conditions or only one can display.
Reply With Quote
  #207  
Old 03-14-2010, 06:03 AM
Switch3130 Switch3130 is offline
 
Join Date: Jun 2006
Location: United States
Posts: 242
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How do we make this new tab have a drop down menu?
Reply With Quote
  #208  
Old 03-14-2010, 03:25 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Switch3130 View Post
How do we make this new tab have a drop down menu?
In the code in the first post, one of the submenu items is a dropdown. If you are talking about the navtab itself being a dropdown, someone else wrote an article for that (I think it was Shelby).
Reply With Quote
  #209  
Old 03-15-2010, 11:21 PM
stlracing stlracing is offline
 
Join Date: Nov 2001
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK... I'm stuck here. I get an error when i activate the code...

arse error: syntax error, unexpected T_STRING in /public_html/forums/includes/class_bootstrap.php(399) : eval()'d code on line 61

Code:
$tabselected = '';
$tablinks = '';
if (in_array($foruminfo['forumid'], array(24,36,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,96,101,103,105,127,129,130,131)))
{
    $vbulletin->options['selectednavtab']='racing_news';
    $tabselected = ' class="selected"';
    $tablinks = '                <ul class="floatcontainer">
                            <li class="popupmenu">
                                <a href="javascript://" class="popupctrl">Late Model News</a>
                                <ul class="popupbody popuphover">
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?88-General-Other-Dirt-Late-Model-News">General/Other Late Model News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?55-Crate-Late-Model-Series">Crate Late Model News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?47-Lucas-Oil-Late-Model-Series">Lucas Oil Late Model Series News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?48-Mid-America-Racing-Series-(MARS)">MARS DIRTcar Series News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?52-MLRA-TORA-SUPR-AMP-MSRA-amp-Other-Series">MLRA/MSRA/SUPR & Other Series News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?49-United-Midwestern-Promoters-(UMP)">U.M.P. DIRTcar News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?46-World-of-Outlaw-Late-Model-Series">World of Outlaw Late Model Series News</a></li>
                                </ul>
                            </li>
                            <li class="popupmenu">
                                <a href="javascript://" class="popupctrl">Sprint Car News</a>
                                <ul class="popupbody popuphover">
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?89-General-Other-Sprint-Midget-News">General/Other Sprint-Midget News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?134-American-Sprint-Car-Series-(ASCS)">American Sprint Car Series (ASCS) News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?77-All-Star-Sprint-Series">All Star Sprint Series News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?78-O-Reilly-POWRi-Series">O'Reilly POWRi Series News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?92-USAC">USAC News</a></li>
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?75-World-of-Outlaws-Sprint-Car-Series">World of Outlaws Sprint Car Series News</a></li>
                                </ul>
                            </li>
                            <li class="popupmenu">
                                <a href="javascript://" class="popupctrl">Race Track News</a>
                                <ul class="popupbody popuphover">
                                        <li><a href="http://www.mysite.com/forums/forumdisplay.php?53-Belle-Clair-Speedway">Belle-Clair Speedway</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="http://www.mysite.com/forums/forumdisplay.php?36-Race-Team-News">Race Teams News</a></li>
                </ul> ';

} 
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="http://www.mysite.com/forums/forumdisplay.php?24-Racing-News">Racing News</a>'.$tablinks.'</li>' ;
--------------- Added [DATE]1268705656[/DATE] at [TIME]1268705656[/TIME] ---------------

Found my issue.. One of my links had a ' in the link description.
Reply With Quote
  #210  
Old 03-16-2010, 06:36 AM
Link14716's Avatar
Link14716 Link14716 is offline
 
Join Date: Jun 2002
Location: Georgia, USA
Posts: 2,519
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Excellent guide, thanks Lynne. Finally making my first venture into making new pages in vB4 and this helped me a lot.
Reply With Quote
  #211  
Old 03-17-2010, 11:29 AM
pant pant is offline
 
Join Date: Mar 2010
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does anyone know of a guide on how to recreate the quick links including drop downs in the Navbar?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:05 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05249 seconds
  • Memory Usage 2,367KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (4)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (10)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (1)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete