vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=242)
-   -   [HOW TO - vB4] Create a New Tab in the navbar (https://vborg.vbsupport.ru/showthread.php?t=226914)

Lynne 12-29-2010 10:10 PM

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.

Monahan 01-16-2011 10:41 PM

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.

Budget101 01-18-2011 12:34 PM

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.

https://vborg.vbsupport.ru/external/2011/07/104.jpg

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.

smooth-c 01-18-2011 01:36 PM

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

Thanks.

Greg

Lynne 01-18-2011 07:07 PM

Quote:

Originally Posted by smooth-c (Post 2150936)
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

Edrondol 01-19-2011 07:03 PM

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>


Lynne 01-19-2011 09:16 PM

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.)

LoveStream 01-23-2011 11:09 AM

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.

Lynne 01-23-2011 03:43 PM

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.

LoveStream 01-24-2011 05:35 AM

Quote:

Originally Posted by Lynne (Post 2153403)
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.

slosupra 01-25-2011 03:46 AM

I am sorry if this question has been asked but how do i set the position of the tab weather it is in the first or lets say the third position..

thanks

dnk.it 01-25-2011 05:28 PM

It is possible to open a link in a new browser ( popup ) ? I've tried to add this code but didnt work:

Code:

$tabselected = '';
$tablinks = '';

function trackPopup(href, target)
{
target = target || "_blank";
window.open(href, target,'width=300,height=500,resizable=0,scrollbars=no,menubar=no,status=no');
pageTracker._link(href);
}

if (PP_SCRIPT == 'PP_Classifieds' )
{
    $vbulletin->options['selectednavtab']='pp_market';
    $tabselected = ' class="selected"';
}
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="/page.html" target="popupWindow" onclick="trackPopup(this.href, this.target); return false;" onmousedown="top.status='Insert Message';" onmouseover="top.status='Insert Message';">Chat</a>'.$tablinks.'</li>' ;

I've also tried to put the javascript function in separate .js file and link it in header with <script> without success

Lynne 01-25-2011 05:51 PM

Sorry, but I don't help with javascript issues.

dnk.it 01-25-2011 08:42 PM

meanwhile I've solved it by myself :)

maybe it should be useful for somebody else in the future :

Code:

$tabselected = '';
$tablinks = '';

if (PP_SCRIPT == 'PP_CHAT' )
{
    $vbulletin->options['selectednavtab']='pp_chat';
    $tabselected = ' class="selected"';
}
$template_hook['navtab_end'] .= '<script language="JavaScript1.2">function openwindow()
{        mywindow=window.open("chatrooms/index.php","mywindow","location=0,status=0,menubar=0,resizable=1,width=650,height=500");
mywindow.moveTo(screen.width/2-300,screen.height/2-250);
}
</script><li'.$tabselected.'><a title="Chat" class="navtab" href="javascript: openwindow()">Chatroom</a>'.$tablinks.'</li>' ;


slosupra 01-26-2011 06:55 PM

Quote:

Originally Posted by slosupra (Post 2154204)
I am sorry if this question has been asked but how do i set the position of the tab weather it is in the first or lets say the third position..


thanks

anyone??

Lynne 01-26-2011 10:05 PM

Quote:

Originally Posted by slosupra (Post 2155000)
anyone??

This is answered in the article itself:
Quote:

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.

slosupra 01-27-2011 05:24 PM

Quote:

Originally Posted by Lynne (Post 2155054)
This is answered in the article itself:

Overlooked that thanks very much got it working now

Budget101 01-28-2011 02:21 PM

Quote:

Originally Posted by Budget101 (Post 2150911)
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.

https://vborg.vbsupport.ru/external/2011/07/104.jpg

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.

No Answer, Really???????????????????????? :confused:

Lynne 01-28-2011 03:06 PM

Quote:

Originally Posted by Budget101 (Post 2155720)
No Answer, Really???????????????????????? :confused:

I don't know how you would do that. You would need to come up with that "unique" condition, and I'm not sure what that would be. Figure that out, and it will work.

Kevlar21 01-29-2011 07:57 AM

hi lynne, im a fan of your work..

so how do you remove the "forum" tab if you dont own the CMS forum suite version?

I managed to remove the "whats new" just cant manage to find where to remove the "forum" tab

cellarius 01-29-2011 02:19 PM

Quote:

Originally Posted by Budget101 (Post 2155720)
No Answer, Really???????????????????????? :confused:

Yep, screaming at people will help, as will the inflationary use of question marks. I'm totally sure it will.

Lynne 01-29-2011 02:38 PM

Quote:

Originally Posted by Kevlar21 (Post 2155986)
hi lynne, im a fan of your work..

so how do you remove the "forum" tab if you dont own the CMS forum suite version?

I managed to remove the "whats new" just cant manage to find where to remove the "forum" tab

This really is not the thread for that. This question has actually been asked a few times - have you tried a search? You'll have to edit the navbar template.

fireglow305 01-29-2011 07:14 PM

Thx for this article ;)

frenchy232 01-31-2011 08:12 PM

Great, worked for me, thank you....

www.mightcontainnuts.com/community

Pinto Pony 02-04-2011 03:12 PM

Thanks Lynne! I gave this a try, my first attempt at creating a plugin for a tab to go with this mod cause the navbar tab it comes with never looked right or worked right for me.
https://vborg.vbsupport.ru/showthread.php?t=237931

Reading the 20+ pages of replies got me through it and I think I will give it a try on some other pages now!

Thanks for the tutorial :)

odln018 02-04-2011 05:19 PM

I must be truly dumb, as I can't get this to work. I don't know what to use as a "link.php". Also, should the drop down appear if the link.php doesn't exist?

Stupid I'm sure.

Lynne 02-04-2011 07:55 PM

Quote:

Originally Posted by odln018 (Post 2158776)
I must be truly dumb, as I can't get this to work. I don't know what to use as a "link.php". Also, should the drop down appear if the link.php doesn't exist?

Stupid I'm sure.

link.php is whatever page you want to link the navtab to. And a dropdown where? The only dropdowns in this are ones you create yourself in the submenu if you choose to do that.

odln018 02-04-2011 08:30 PM

I was wanting to create a tab, then when you clicked on that tab, you would get a dropdown.

Maybe I'm looking at the wrong article.

Lynne 02-04-2011 08:39 PM

Quote:

Originally Posted by odln018 (Post 2158847)
I was wanting to create a tab, then when you clicked on that tab, you would get a dropdown.

Maybe I'm looking at the wrong article.

This article helps create a tab like in the picture in the first post.

DuNkLeArChOn 02-05-2011 03:12 PM

It works fine .. thanks :D

odln018 02-09-2011 06:11 PM

Ok, I'm making progress with this.

What I'm trying to do is created a Special Access tab for those who have contributed and have access to more features of the site.

My link1.php page contains this:

Code:

define(SpecialAccess, true);
When I click on the Nav link, I want that tab to be highlighted, with items in the sub for "sub link 1", sublink 2", etc.

Here's my plugin code:

Code:

$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'Special')
{

    $vbulletin->options['selectednavtab']='Special';
    $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>' ;


When I click on the tab, I get taken directly to the contents of link1.php

Any corrections would be greatly appreciated.

Lynne 02-09-2011 06:58 PM

You say that right now if you click on the tab, you get taken to link1.php. Isn't that what you want? I'm not understanding what the problem is that you are having.

And on link1.php, do you define THIS_SCRIPT?

wpeloquin 02-16-2011 10:30 PM

Hello.

I just wanted to say that I used a hybrid between yours and ragtek's. It allows the base of the navtab to be stored in the plugin, with a couple of things that can be edited in the Admin->Options->Plugin, and offloads the submenu into a template that can be edited as needed by the end-user.

Plugin PHP:
Code:

$tabselected = '';
$tablinks = '';

$navtab_name = $vbulletin->options['plugin_navtab_title'];
$navtab_location = $vbulletin->options['plugin_navtab_location'];
      Those are based on Options that i set up, so the user can choose title and location in the Admin->Options->Plugin Options

switch ($location) {
    case '1':
        $tabloc = 'navtab_end'; break;
    case '2':
        $tabloc = 'navtab_middle'; break;
    case '3':
        $tabloc = 'navtab_start'; break;
}
      The above code determines which option was selected, 1/2/3, to determine location of navtab.

if (THIS_SCRIPT == 'rkc_plugin')
{
    $vbulletin->options['selectednavtab']='rkc_plugin';
    $tabselected = ' class="selected"';
    $tablinks .= vB_Template::create('plugin_navbar_submenu')->render();

}
$template_hook[$nbloc] .= '<li'.$tabselected.'><a class="navtab" href="pluginpage.php">'.$navtabname.'</a>'.$tablinks.'</li>' ;

Template Code:
Code:

<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>


Boofo 02-16-2011 10:55 PM

You ought to release that. ;)

Hippy 02-17-2011 12:50 PM

Quote:

Originally Posted by Boofo (Post 2163425)
You ought to release that. ;)

I'll second that:up:

Truth66 02-21-2011 01:25 AM

To try and keep things simple, I just added a couple of tabs to the nav bar. The new tabs appear with the name that I want and are fully clickable to the link that I want.
However, when I click onto my new tab it highlights when it's supposed to and then when the new page appears, the tab is no longer highlighted after I move the cursor. The Forum tab automatically highlights, yet the page does not change to the Forum page.

This only happens with the new tabs that I created. I'm using v4.1.2

The tabs were created as a plugin and the hook location is process_templates_complete

Here's the html in the plugin that I used to create one of the new tabs:

$template_hook['navtab_middle'] .= '<li'.$tabselected.'><a class="navtab" href="http://www.voicescount.com/forumdisplay.php?589-Businesses-Sellers-Listings-U.S.A.-Nationwide-Statewide-and-by-American-Cities">U.S.A. Listings</a>'.$tablinks.'</li>';

Is there anything missing in this html?

Thanks Again

Lynne 02-21-2011 02:59 AM

Quote:

Originally Posted by Truth66 (Post 2164796)
To try and keep things simple, I just added a couple of tabs to the nav bar. The new tabs appear with the name that I want and are fully clickable to the link that I want.
However, when I click onto my new tab it highlights when it's supposed to and then when the new page appears, the tab is no longer highlighted after I move the cursor. The Forum tab automatically highlights, yet the page does not change to the Forum page.

This only happens with the new tabs that I created. I'm using v4.1.2

The tabs were created as a plugin and the hook location is process_templates_complete

Here's the html in the plugin that I used to create one of the new tabs:

$template_hook['navtab_middle'] .= '<li'.$tabselected.'><a class="navtab" href="http://www.voicescount.com/forumdisplay.php?589-Businesses-Sellers-Listings-U.S.A.-Nationwide-Statewide-and-by-American-Cities">U.S.A. Listings</a>'.$tablinks.'</li>';

Is there anything missing in this html?

Thanks Again

You need to make sure that you wrote a valid, unique condition for when you tab is active - this is the example condition given and you will need to change it to be valid for your pages:
PHP Code:

if (THIS_SCRIPT == 'yourpage'

That is just an example and your condition will most likely look totally different.

Truth66 02-21-2011 08:07 PM

Hi Lynne,

I've spent countless hours on this today. In fact I've created three different plugins, using a different code fo each and tested each plugin seperately. All three plugins do the exact same thing. Yet all have the exact same problem. The problem is that the tab I create doesn't stay highlighted after a person clicks onto the tab. The tab that does stay highlighted after my new tab is clicked is the Forum tab.

Here's the three different types of code that I've tried:

Plugin A Code:

$template_hook['navtab_end'] = '<li><a class="navtab" href="forumdisplay.php?589">U.S.A. Listings';

Note: Plugin A Code was explained here:

https://vborg.vbsupport.ru/showthrea...67#post2149967

Plugin B Code:

$template_hook['navtab_middle'] .= '<li'.$tabselected.'><a class="navtab" href="http://www.voicescount.com/forumdisplay.php?589-Businesses-Sellers-Listings-U.S.A.-Nationwide-Statewide-and-by-American-Cities">U.S.A. Listings</a>'.$tablinks.'</li>';

Plugin C Code:

$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'Cdn Listings')
{
$vbulletin->options['selectednavtab']='Cdn Listings_tab';
$tabselected = ' class="selected"';
$tablinks = '
<ul class="floatcontainer">
<li><a href="http://www.voicescount.com/forumdisplay.php?2176-Businesses-Sellers-Listings-Canada-Nationwide-Provincewide-amp-by-Canadian-Cities">Cdn Listings</a></li>
</ul>
';
}
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="http://www.voicescount.com/forumdisplay.php?2176-Businesses-Sellers-Listings-Canada-Nationwide-Provincewide-amp-by-Canadian-Cities">Cdn Listings'.$tablinks.'</li>' ;

As you can see I'm trying.

Please review the above codes and I appreciate any insite.

Thanks Again

Lynne 02-21-2011 09:55 PM

For Plugin A & B, you have not posted your unique condition at all, so I don't know where the problem is. I do know that if you are linking to a forumdisplay page that you won't be able to use THIS_SCRIPT because all of the forumdisplay pages have that defined the same:
PHP Code:

define('THIS_SCRIPT''forumdisplay'); 

As for the last, Plugin C, again, you are linking to a forumdisplay page and saying the condition is if THIS_SCRIPT equals 'Cdn Listings' but I don't see how you could possible define that since THIS_SCRIPT is already defined on the forumdisplay page to be 'forumdisplay' as I showed above.

You are going to have to use something like the forumid in the condition. Like:
PHP Code:

if ($GLOBALS['forumid'] == 2176

    
$vbulletin->options['selectednavtab']='whatever'
.... 


Truth66 02-21-2011 11:51 PM

Thanks Lynne,

Your solution to Plugin C works:

I changed:
if (THIS_SCRIPT == 'Cdn Listings')

to:

if ($GLOBALS['forumid'] == 2176)

The single Tab now works the way it's supposed to.

Based on your solution, how would your original code at the start of this thread be changed so that I could do the following:

The main tab says Listings

A person clicks onto Listings and a drop menu appears containing three or more sub tabs listed. Each of these sub tabs is linked to a different forum id.

Thanks Again


All times are GMT. The time now is 02:52 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02333 seconds
  • Memory Usage 1,880KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (7)bbcode_code_printable
  • (1)bbcode_html_printable
  • (5)bbcode_php_printable
  • (14)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete