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
  #452  
Old 07-18-2011, 10:18 PM
Spyike Spyike is offline
 
Join Date: Nov 2010
Posts: 82
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
It belongs at the very, very end. It should be your last line in the plugin.

edit: Well, I guess while I was typing Brooks was being the young whippersnapper he is and answering way, waaaaay faster than me!
Thank you as well.

If I wanted to have the Sublink drop downs directly from the original tab, rather than Tab > Link > Sublink, would I simply delete the lists and leave the unordered lists?

Thanks
Reply With Quote
  #453  
Old 07-18-2011, 10:18 PM
HMBeaty's Avatar
HMBeaty HMBeaty is offline
 
Join Date: Sep 2005
Posts: 4,141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
It belongs at the very, very end. It should be your last line in the plugin.

edit: Well, I guess while I was typing Brooks was being the young whippersnapper he is and answering way, waaaaay faster than me!
Not really young anymore lol
Reply With Quote
  #454  
Old 07-18-2011, 11: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 Spyike View Post
Thank you as well.

If I wanted to have the Sublink drop downs directly from the original tab, rather than Tab > Link > Sublink, would I simply delete the lists and leave the unordered lists?

Thanks
There is another article about how to make the navtabs dropdowns themselves. You should be able to find it in this forum.
Reply With Quote
  #455  
Old 07-18-2011, 11:49 PM
Spyike Spyike is offline
 
Join Date: Nov 2010
Posts: 82
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
There is another article about how to make the navtabs dropdowns themselves. You should be able to find it in this forum.
https://vborg.vbsupport.ru/showthread.php?t=232579 only applies to the Sublink drop downs as does https://vborg.vbsupport.ru/showthread.php?t=232579
Reply With Quote
  #456  
Old 07-30-2011, 06:26 AM
AlokSharma AlokSharma is offline
 
Join Date: Jan 2011
Location: Nasik Road, India
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just in case, if someone only wants to add a tab, here is the modified code:

PHP Code:
$tabselected '';
$tablinks '';
if (
THIS_SCRIPT == 'chat')
{
    
$vbulletin->options['selectednavtab']='chat';
    
$tabselected ' class="selected"';

$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="chat.php">Chat</a>'.$tablinks.'</li>' 
Replace:
PHP Code:
if (THIS_SCRIPT == 'chat'
and
PHP Code:
$vbulletin->options['selectednavtab']='chat'
With some unique name.
Reply With Quote
  #457  
Old 08-12-2011, 05:00 PM
odln018's Avatar
odln018 odln018 is offline
 
Join Date: Mar 2006
Posts: 210
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If possible, could I get some personal assistance in getting this to work on my forum?

I would try some products, but I'm concerned about the developers bailing out, and figure it would be beneficial just to see how it's done "manually".
Reply With Quote
  #458  
Old 08-15-2011, 06:47 PM
christian gate christian gate is offline
 
Join Date: Aug 2011
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi, I have 2 questions please

1. If I need to create more than 1 tab, would I have to keep adding this blugin for each tab, if not so how can i use it for more than 1 tab?

2. I need to make 3 different forums ( already Exit), each will have own tab in the navbar, can I do that with this blugin, how?

I am new with coding and if you please give me a step by step instructions.


Thanks
Reply With Quote
  #459  
Old 08-15-2011, 11:33 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

1. You may add the plugin code several times into the same plugin and just change the condition for each.

2. Just add a unique condition for each.
Reply With Quote
  #460  
Old 08-17-2011, 09:16 PM
HolyKiller HolyKiller is offline
 
Join Date: Dec 2006
Posts: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Lynne & wowautoauctions: THANKS a LOT !!!

It works excelent for sub-forum with proper highlighting!


Code:
$tabselected = '';
$tablinks = '';
if ($GLOBALS['forumid'] == 222)
{
    $vbulletin->options['selectednavtab']='SOMETHING';
    $tabselected = ' class="selected"';
} 
$template_hook['navtab_middle'] .= '<li'.$tabselected.'><a class="navtab" href="http://yoursite/forumdisplay.php/222-Blablabla">SOMETHING</a>'.$tablinks.'</li>' ;
Anyway, one more thing...

Now i have navbar like this:

CMS_FORUM_BLOGS_AAA_BBB_CCC_WHATSNEW

and i would like to have it like this:

CMS_FORUM_AAA_BBB_CCC_BLOGS_WHATSNEW

How to "move" that "BLOG" to the right?

Thanks!
Reply With Quote
  #461  
Old 08-17-2011, 10:49 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 HolyKiller View Post
Anyway, one more thing...

Now i have navbar like this:

CMS_FORUM_BLOGS_AAA_BBB_CCC_WHATSNEW

and i would like to have it like this:

CMS_FORUM_AAA_BBB_CCC_WHATSNEW_BLOGS

How to "move" that "BLOG" to the right?

Thanks!
There are template_hooks in the navbar that are being used to place the navtabs. If you want to move a tab, then find the template hook you want to use and change the existing one (in this case it is a plugin in the blog product) to use the new one.
Reply With Quote
Благодарность от:
HolyKiller
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:35 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.07994 seconds
  • Memory Usage 2,368KB
  • 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
  • (7)bbcode_php
  • (5)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
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)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