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
  #332  
Old 09-12-2010, 07:39 PM
NashChristian's Avatar
NashChristian NashChristian is offline
 
Join Date: Jul 2007
Location: Nashville, TN
Posts: 292
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
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).
Hello Lynne,

I've used your plugin here successfully for quite a while and love it! I'm now trying to rework my navigation to create drop-down menus on most of my TABS. I've tried Shelby's mod (referenced above) and I believe that YOURS is closer to meeting my needs, however I need some help adapting it.

Basically, what I want is ALL the functionality of your plugin PLUS the ability to include drop-down menus on the TABS themselves!

Problems with Shelby's Mod (for my needs):
  • I want the tab to stay highlighted once one of the options in that tab have been selected (like on yours).
  • I want to replace the tablinks (submenus) on each of the primary categories (like on yours).

For example, one of my TABS is for the EVENT CALENDAR:

EVENT CALENDAR
  • Monthly View
  • Weekly View
  • Add New Event

Then once any of those three links above, in the tab menu are selected, I want to have the Event Calendar button highlighted (show SELECTED same as vB default behavior), and have the standard Forum submenu (tablinks) replaced with one custom submenu that says "Add New Event". So this text link will appear alone in the upper left corner of the navigation submenu (under the row of tabs).

I've been playing with this all day, but can't seem to figure it out. I'm unsure whether it is NECESSARY to do this in two steps by creating the new template and plugin as suggested by Shelby. I don't mind either way, I just need help adapting one of the mods to include these features.

Any help would be appreciated!

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

You are going to have to merge the two mods together. I'd suggest doing that and then starting your own thread where you post your code and images or your result (or a link to see it). That way, we can try out your code ourselves and see what is going on and make suggestions for changes.
Reply With Quote
  #334  
Old 09-12-2010, 10:31 PM
NashChristian's Avatar
NashChristian NashChristian is offline
 
Join Date: Jul 2007
Location: Nashville, TN
Posts: 292
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
You are going to have to merge the two mods together. I'd suggest doing that and then starting your own thread where you post your code and images or your result (or a link to see it). That way, we can try out your code ourselves and see what is going on and make suggestions for changes.
Hello Lynne,

My concern with that is three fold:
  1. I would be literally copying your code and Shelby's and combining the two, which I don't think I'm supposed to do without permisson from both parties.
  2. People will ask me a bunch of questions that I'm not the slightest bit qualified to answer.
  3. I've tinkered with this some already, and the part I can't figure out is how to have the selected tab highlighted (show SELECTED the same as vB default behavior). The plugin can be conditional, but I don't believe the template can. I'd need a way either to pass a value into the template (selected or not), or I'd need the plugin to route to two different templates depending upon whether it is selected or not. Multipy that times five different tabs, each with their own drop-down menu, and it seems that this could get quite resource intensive.

Your thoughts?

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

1. No you wouldn't. You are simply taking our instructions and writing your own. I'm talking about putting in your own links and all that - post exactly what your plugin code currently is.

2. Ignore them or say "I don't know". It's a help thread - you are asking for help not offering help.

3. Post it. Tell us what isn't working. Tell us what the conditions are for the tab to be highlighted. You need to verbalize that anyway so you can write your condition for it.
Reply With Quote
  #336  
Old 09-13-2010, 12:01 AM
NashChristian's Avatar
NashChristian NashChristian is offline
 
Join Date: Jul 2007
Location: Nashville, TN
Posts: 292
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I misunderstood what you were saying.

What forum should I post the new help thread in?

Modification Requests/Questions (Unpaid)?
vB4 Design and Graphics Discussions?

Thanks again for your assistance!
Jeff
Reply With Quote
  #337  
Old 09-13-2010, 12:13 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You could post it in here - vB4 General Discussions (or vB4 Programming Discussions)
Reply With Quote
  #338  
Old 09-13-2010, 06:07 PM
NashChristian's Avatar
NashChristian NashChristian is offline
 
Join Date: Jul 2007
Location: Nashville, TN
Posts: 292
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
You are going to have to merge the two mods together. I'd suggest doing that and then starting your own thread where you post your code and images or your result (or a link to see it). That way, we can try out your code ourselves and see what is going on and make suggestions for changes.
I've started a new thread HERE for anyone who wants to follow or participate in the development of the modifications I've mentioned.
Reply With Quote
  #339  
Old 09-13-2010, 06:57 PM
jacobskinner811 jacobskinner811 is offline
 
Join Date: Apr 2010
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hey lynn i am not a programer and am really bad at all this...is there a way i could pay you to install it on my site?
Reply With Quote
  #340  
Old 09-16-2010, 07:55 PM
unknown22 unknown22 is offline
 
Join Date: Aug 2010
Posts: 114
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I put in the plugin code but it only creates a tab beside forum it's a link to another website
and there's no nav bar with menu.

Code:
$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'new site')
{
    $vbulletin->options['selectednavtab']='hlstat';
    $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_middle'] .= '<li'.$tabselected.'><a class="navtab" href="http://website.com">name here</a>'.$tablinks.'</li>' ;
I was looking only to create a nav bar link like community you click that and members list etc..
Trying to make it under my home tab which has nothing under it, using vbadvanced.
Reply With Quote
  #341  
Old 09-16-2010, 11:44 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 unknown22 View Post
I put in the plugin code but it only creates a tab beside forum it's a link to another website
and there's no nav bar with menu.
Since you are linking to another site, you will be on another site after you click the link and therefore it can't be highlighted.
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:50 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.08370 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