The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
[HOW TO - vB4] Create a New Tab in the navbar
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:
PHP Code:
PHP Code:
PHP Code:
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 |
#272
|
||||
|
||||
Quote:
|
#273
|
|||
|
|||
ahh thanks alot
|
#274
|
|||
|
|||
I got it working for 1 link but now i want to make one for the FAQ too
Code:
Plugin PHP Code
$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'faq.php')
{
$vbulletin->options['selectednavtab']='faq_ftn';
$tabselected = ' class="selected"';
$tablinks = ' <ul class="floatcontainer">
<li><a href="faq.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="faq.php">FAQ</a>'.$tablinks.'</li>' ;
|
#275
|
||||
|
||||
This is not valid for the faq page:
PHP Code:
|
#276
|
|||
|
|||
Thanks Lynne, Everything worked great... execution controls order of tab.
|
#277
|
|||
|
|||
thx its faq without .php ....
|
#278
|
|||
|
|||
I cant believe we have to go through all this to add simple links to a navbar. What the hell? I dont know how to do all this. Make my own plugin, your kidding right? Now I'm gonna have to pay someone to add a few links to my navbar, unlike 3.8 where it was as easy as a simple template edit/addition. Unreal. I'm starting to see why people are going back to the old vb forums.
|
#279
|
||||
|
||||
Quote:
|
#280
|
|||
|
|||
I wasnt blaming Lynne, she actually helped me yesterday with another issue. Just frustrated because on 3.8 I could edit anything in templates very easily and now in vb4 it's like you need a college course. They say in another thread "find this code" in navbar template and I look and its not even there in my code. I cant win today, starting to dislike vb4 bigtime.
|
#281
|
|||
|
|||
Lynne - thank you for this and I have played around with it and with some small changes to suit my needs it works well.
But I would like to add that I am having an issue with this whole new navbar setup for v4 especially given that the navbar is the most changed component, in my opinion, in vb. I use a navbar that is very similar to the new v4 one except with the added functionality of being able to hover on a tab and access the submenu of that tab for a set millisecond time before it bounces back to the currently selected tab. To do this I have to set the criteria for its use when using v3.8.5: Code:
<script type="text/javascript"> <if condition="in_array(THIS_SCRIPT, array('adv_index', 'about', 'sendmessage','support','staff','memberlist','online', 'private', 'register'))">tabmenu.definemenu("menu", 0)</if> <if condition="in_array(ADV_DYNA_PREFIX, array('aircraft', 'acnotice'))">tabmenu.definemenu("menu", 1)</if> <if condition="in_array(THIS_SCRIPT, array('aircraft_register', 'aircraft_types'))">tabmenu.definemenu("menu", 1)</if> <if condition="in_array(THIS_SCRIPT, array('blog', 'blog_usercp'))">tabmenu.definemenu("menu", 2)</if> <if condition="in_array(ADV_DYNA_PREFIX, array('clubs', 'download', 'terms'))">tabmenu.definemenu("menu", 3)</if> <if condition="in_array(THIS_SCRIPT, array('calendar', 'view', 'vbgooglemaphse', 'links_index', 'quiz', 'weather', 'weather_arfor', 'weather_metar', 'weather_taf', 'weather_sigmet', 'flight_planner'))">tabmenu.definemenu("menu", 3)</if> <if condition="in_array(THIS_SCRIPT, array('index', 'album', 'group', 'search', 'showthread', 'forumdisplay', 'newthread'))">tabmenu.definemenu("menu", 4)</if> <if condition="in_array(ADV_DYNA_PREFIX, array('quotes'))">tabmenu.definemenu("menu", 5)</if> <if condition="in_array(THIS_SCRIPT, array('arcade', 'gallery_index', 'gallery_upload', 'gallery_search', 'gallery_slideshow', 'gallery_albums', 'gallery_edit', 'gallery_delete', 'vbtubepro', 'youtube_browser'))">tabmenu.definemenu("menu", 5)</if> <if condition="in_array(THIS_SCRIPT, array('profile', 'member', 'subscription'))">tabmenu.definemenu("menu", 6)</if> <if condition="ADV_DYNA_PREFIX == 'classifi'">tabmenu.definemenu("menu", 8)</if> <if condition="$pg=='advertising_rates'">tabmenu.definemenu("menu", 0)</if> </script> As you can see it is a "dogs breakfast" of an array and trying to convert this to a more vb way using your great tutorial here is really, for me, going from one "dog's breakfast" to another. So I raise this question...there must be a better way for everyone to manage their v4 navbar? Could a global variable be created and: - each time a user clicks a tab or submenu item the global variable is set to a number to correspond to the tab id - the page changes to the linked page - the tab that corresponds to the global variable is then made "selected" Very little code would be needed to facilitate this, you wouldn't need to worry about "THIS SCRIPT" or any other definition of what page is being displayed, very simple to include a setting of the global variable on clicking, and then reading the variable on page display etc. Is this an option? Would it make the navbar easier to manage? Would it improve performance? |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|