Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 4 Articles

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
  #362  
Old 12-29-2010, 10:10 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is the wrong place to ask about how to get the tab to highlight when using a template for your navtab. There is another article that talks about using a template for the navtab. This article only uses a plugin and the condition for highlighting the tab is in the plugin.
Reply With Quote
  #363  
Old 01-16-2011, 10:41 PM
Monahan Monahan is offline
 
Join Date: Jan 2011
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Absolutely brilliant Lynne, a big thanks.

I've looked all over the place for this. I don't know what other members problems are. I'm a novice but followed your instructions and it works, first time. Dead easy.

Thanks again.
Reply With Quote
  #364  
Old 01-18-2011, 12:34 PM
Budget101 Budget101 is offline
 
Join Date: Jul 2008
Posts: 331
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ugh, I've been at this for 14 hours straight and cannot get it to do what I want.

In the Navbar- I want to created a Navtab (that doesn't link to anything/go anywhere/ stays on the same page no matter what page you're on when you click it) but that creates a Navigation submenu bar with multiple drop down boxes containing links.



I want it to do this (as pictured above)- except that link 1 is a drop down, link 2 is a drop down, etc (all of the submenus are dropdowns. When you click on "Nav Link" in the navbar tabs- it doesn't actually GO anywhere- the page stays the same with the navigation menus all showing.

I got all of submenu dropdowns to show but cant get the 'Nav Link" to remain the same on every single page.

-------------------------------------------------------------------------

I tried using:
PHP Code:
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" >Nav Link</a>'.$tablinks.'</li>' 
is there a way to remove the actual "Linking" of the tab and still have the drop down menu appear when someone clicks on it?

I tried using 'index' in THIS_SCRIPT and removing the link in the bottom line 'link.php' but than it overwrote the links in the forum tab (so when you click on the forum tab, the links from the new tab showed).


I just want a tab that when clicked on- displays the sections that are available on my site.
Reply With Quote
  #365  
Old 01-18-2011, 01:36 PM
smooth-c smooth-c is offline
 
Join Date: Jan 2008
Posts: 226
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is it possible to have a background image for a tab? Would be great if anyone could help!

Thanks.

Greg
Reply With Quote
  #366  
Old 01-18-2011, 07:07 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 smooth-c View Post
Is it possible to have a background image for a tab? Would be great if anyone could help!

Thanks.

Greg
Just add a class to the tab (where it says class="navtab" add in a class there) and then just define it in additional.css
Reply With Quote
  #367  
Old 01-19-2011, 07:03 PM
Edrondol Edrondol is offline
 
Join Date: Aug 2009
Posts: 92
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How would I add a conditional to the following?

Code:
<li class="popupmenu">
    <a href="javascript://" class="popupctrl navtab" style="background:transparent url({vb:stylevar imgdir_misc}/arrow.png) no-repeat {vb:stylevar right} center; padding-right: 15px">Special Access</a>
    <ul class="popupbody popuphover">
    <li><a style="text-indent: 0px; color:{vb:stylevar navbar_selected_popup_body_a_Color}" href="http://domain.com/">TEST</a></li>
    <li><a style="color:{vb:stylevar navbar_selected_popup_body_a_Color}" href="sublink2.php">SubLink 2</a></li>
    <li><a style="color:{vb:stylevar navbar_selected_popup_body_a_Color}" href="sublink3.php">SubLink 3</a></li>
    </ul>
    </li>
Reply With Quote
  #368  
Old 01-19-2011, 09:16 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Since that looks like just html, I'll assume it's a template, so just add:
HTML Code:
<vb:if condition="whatever condition you want">
your code
</vb:if>
Your question is so general that I can't offer any specifics. (And, I don't know why it's here since there is no template in this article.)
Reply With Quote
  #369  
Old 01-23-2011, 11:09 AM
LoveStream LoveStream is offline
 
Join Date: Jan 2009
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello, Lynne.

I have a question to you.

I made a NEW custom NavTabs with my own script files. And I add a PHP above menu you state into the plugin product too.

My edited template is "FORUMHOME".
I copied this FORUMHOME to new my custom as named "FORUMHOME_PJ" and create new mypj.php correspond to templates name and its values.

To modify certain template, really I want to show just one its nested childforum from the whole forum list, I added the <vb:if condition="........."></vb:if> in the top line of the copied templates.

Then now when I load my custom NAVTAB menu it works very well with my altered FORUMHOME_PJ templates and mypj.php.

However in this case, when I back to the tied forum that have IF, CONDITIONED tag to limit show the certain forum id, after I was browsing the thread title or link of limited forum, the NAVTAB menu won't point out my CUSTOM NAVTAB and it always turned to the basic forum TAB again. My NavTab menu doesn't highlighted which should be.

My purpose is that I always should fixed in my new NavTab menu.

To operate this I look at and refer to the /include/functions_forumlist.php and made a new functions_forumlist_pj.php that contains altered $forumbits_pj.

Can I ask to you?

I'm sorry for that my inaccurate expression.
I hope you understand it.

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

I'm sorry, but I really have no idea what you are asking. If you want your navtab to show when you go to a certain page, you need to set up a unique condition. If that condition is not unique, then another navtab may show as highlighted.
Reply With Quote
  #371  
Old 01-24-2011, 05:35 AM
LoveStream LoveStream is offline
 
Join Date: Jan 2009
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
I'm sorry, but I really have no idea what you are asking. If you want your navtab to show when you go to a certain page, you need to set up a unique condition. If that condition is not unique, then another navtab may show as highlighted.
Thank you, but though I put unique name, navtab is back to old forum Tab.
I should be study more.

Thank you.
Reply With Quote
Reply

Thread Tools

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:54 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.15984 seconds
  • Memory Usage 2,359KB
  • 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
  • (1)bbcode_html
  • (5)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