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
  #352  
Old 10-29-2010, 04:24 PM
lowchia lowchia is offline
 
Join Date: Oct 2010
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi Lynne

Thanks for helping us but after reading so much, my knowledge only increase by abit

My forum is at http://singstocks.com/forum

I just need to add a "Home" tab at nav bar: Home --> Forum --> What news

This home tab is a link back to my blog at http://singstocks.com.

Pls help and explain clearly as i am new at codes.

Thank you

Code:
<div id="navbar" class="navbar">

	<ul id="navtabs" class="navtabs floatcontainer<vb:if condition="$show['member'] AND $notifications_total"> notify</vb:if>">
		{vb:raw template_hook.navtab_start}
		<vb:if condition="!$vboptions['selectednavtab'] AND THIS_SCRIPT != 'search'">
			<li class="selected"><a class="navtab" href="{vb:raw vboptions.forumhome}.php{vb:raw session.sessionurl_q}">{vb:rawphrase forum}</a>
				<ul class="floatcontainer">
					{vb:raw template_hook.navbar_start}
					<vb:if condition="$show['searchbuttons']">
						<vb:if condition="$show['member']">
						<li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post">{vb:rawphrase new_posts_nav}</a></li>
						<vb:else />
						<li><a href="search.php?{vb:raw session.sessionurl}do=getdaily&amp;contenttype=vBForum_Post">{vb:rawphrase todays_posts}</a></li>
						</vb:if>
					</vb:if>
					{vb:raw template_hook.navbar_after_getnew}
					<vb:if condition="$show['pmmainlink']">
						<li><a href="private.php{vb:raw session.sessionurl_q}" rel="nofollow">{vb:rawphrase private_messages}</a></li>
					</vb:if>
					{vb:raw template_hook.navbar_after_pm}
					<li><a rel="help" href="faq.php{vb:raw session.sessionurl_q}" accesskey="5">{vb:rawphrase faq}</a></li>
					{vb:raw template_hook.navbar_after_faq}
					<li><a href="calendar.php{vb:raw
Reply With Quote
  #353  
Old 11-03-2010, 02:01 PM
cassis2k cassis2k is offline
 
Join Date: Mar 2005
Location: Paris
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
If the page you are clicking on has THIS_SCRIPT defined as 'adv_index', then 'adv_index' is what you need to put into the plugin. The plugin has the condition for when the tab is highlighted.
Thank you Lynne, it's perfect
Reply With Quote
  #354  
Old 11-13-2010, 09:33 PM
Lostboyfan's Avatar
Lostboyfan Lostboyfan is offline
 
Join Date: Mar 2010
Location: Chicago, IL
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How do I make a navbar tab stay highlighted with you click on it?

I would like to know as soon as possible
Reply With Quote
  #355  
Old 11-14-2010, 11:26 AM
Hippy's Avatar
Hippy Hippy is offline
 
Join Date: Dec 2001
Location: USA, New Jersey
Posts: 2,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

your answer is above your post
Reply With Quote
  #356  
Old 11-14-2010, 03:29 PM
Lostboyfan's Avatar
Lostboyfan Lostboyfan is offline
 
Join Date: Mar 2010
Location: Chicago, IL
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Hippy View Post
your answer is above your post
Thanks for telling me. Must of been reading so many post that I finally just posted to get an answer and didn't know that it was right in front of me.
Reply With Quote
  #357  
Old 11-17-2010, 02:33 AM
crtsoft crtsoft is offline
 
Join Date: Nov 2010
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great post. simple, and works great. thanks
Reply With Quote
  #358  
Old 11-29-2010, 01:55 AM
Dugchugger's Avatar
Dugchugger Dugchugger is offline
 
Join Date: May 2007
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Lynne! It's Duggy-proof! I got it up and running in less than 5 mins. You are a vB Goddess!
Reply With Quote
  #359  
Old 12-14-2010, 08:28 PM
sailnet sailnet is offline
 
Join Date: Oct 2009
Posts: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just installed this code exactly as it appears, and it shows up on my forums menus but the drop downs do not appear - any ideas why?

I'm running on 4.1.0

I would have preferred to go with the template version of this mod but there's nothing in the template version about creating drop downs and I need drop down on my additional menu items.
Reply With Quote
  #360  
Old 12-19-2010, 06:58 PM
tdev1 tdev1 is offline
 
Join Date: Jul 2010
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks for this tutorial, very nice

used to create a tutorial on how to embed webchat-IRC: http://thomasfischer.biz/?p=441
Reply With Quote
  #361  
Old 12-29-2010, 07:38 PM
larryd larryd is offline
 
Join Date: Nov 2001
Location: Newark, DE
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've added a tab called Features which works great thanks..

Question is now that I am calling custom vb pages that I'm creating from this tab how do I get the tab to be the highlighted tab?

For example in my custom VB page dynodb.php

Code:
define('THIS_SCRIPT', 'dynodb');
define(ncoextratab, true);
The forum template for the Features tab is called nco_extra_navbar and looks like this

Code:
<vb:if condition="$vboptions['selectednavtab'] == 'ncoextratab'">

<li style="border-top-style:solid; border-top-color:white; border-top-width:1px; border-left-style:solid; border-left-color:white; border-left-width:1px;" class="popupmenu">

<a style="text-decoration:none;" color='#ff0000'" href="javascript://" class="popupctrl" ><b>Features</b></a>

<ul class="popupbody popuphover">
<li><a href="http://www.newcelica.org">Install Guides</a></li>
<li><a href="http://partscatalog.newcelica.org/page.php">Parts Catalog</a></li> 
<li><a href="http://tracktimes.newcelica.org/index.php">Track Times</a></li>   
<li><a href="dynodb.php">Dyno Database</a></li>   
<li><a href="http://www.newcelica.org/other/technical/index.htm">Technical Information</a></li>   
<li><a href="http://www.newcelica.org/other/store/index.htm">NC.org Gear</a></li>   
</ul>
</li>

<vb:else />

<li style="border-top-style:solid; border-top-color:white; border-top-width:1px; border-left-style:solid; border-left-color:white; border-left-width:1px;" class="popupmenu">

<a onmouseover="this.style.color='#ff0000'" onmouseout="this.style.color='#ffffff'" href="javascript://" class="popupctrl" ><b>Features</b></a>

<ul class="popupbody popuphover">
<li><a href="http://www.newcelica.org">Install Guides</a></li>
<li><a href="http://partscatalog.newcelica.org/page.php">Parts Catalog</a></li> 
<li><a href="http://tracktimes.newcelica.org/index.php">Track Times</a></li>   
<li><a href="dynodb.php">Dyno Database</a></li>   
<li><a href="http://www.newcelica.org/other/technical/index.htm">Technical Information</a></li>   
<li><a href="http://www.newcelica.org/other/store/index.htm">NC.org Gear</a></li>   
</ul>
</li> 

</vb:if>
The plugin hook calls nco_extra_navbar so why when I load my dynodb.php page does it not highlight the Features tab? It highlights the forums tab regardless of how I browse to the dynodb.php page

http://vb.newcelica.org/dynodb.php
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 05:51 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.05725 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
  • (3)bbcode_code
  • (4)bbcode_php
  • (2)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