Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > Programming Articles
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
How To Add Additional Links To Your Navbar
peterska2
Join Date: Oct 2003
Posts: 6,504

 

Manchester, UK
Show Printable Version Email this Page Subscription
peterska2 peterska2 is offline 06-17-2006, 10:00 PM

There is one thing that you never seem to have enough of with a modified vBulletin site, and that is navbar space. This article covers how to add additional links to your navbar both on your regular one, and adding another row to it to stop it getting too busy. Also included in this article is showing and hiding links for guests and members.

Part One: Adding Links To Your Standard Navbar

Scenario used: You have a HTML page on your site with a map to the location of a regular meeting place for people from your site. You need to add the link to this page to your navbar for easy access by your visitors. This page is located at yoursite.com/map.html

To add a link to the additional page (it can be a page within vB or not even on your site) you need to use the following code:
Code:
<td class="vbmenu_control"><a href="http://yoursite.com/map.html" target="_blank">Map</a></td>
This code contains 4 important aspects.

Code:
<td class="vbmenu_control">
This tells you how the link will be displayed. Navbar links use the vbmenu_control class as defined in your CSS so they will always be in this format (Note: Some styles use different formats depending on the level of customization that has been carried out).


Code:
<a href="http://yoursite.com/map.html"
This tells us where the link is going to. You can link to a page anywhere on the internet by using this format. If the page you are linking to is in the same directory as your forums then you only need to use the page name, in this case map.html


Code:
target="_blank"
This tells your browser to open the link in a new window. If you want it to open in the same window then you simply miss this code out.


Code:
Map</a></td>
This displays the title of the link that will be displayed and also ends the link code and section in the navbar.


The best place to add the code for your additional link, is either immediately before or after the link to the calendar
Code:
<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
Part Two: Creating Another Row In Your Navbar

If you have a number of modifications installed that have required additional links on your navbar, it quickly becomes very full. Now you can install a modification to add another navbar to your site, or you can simply create another row in your existing one.

When adding another row, it is important that you use a new table, otherwise your links will be forced into alignment with those on the top row, leaving an unsightly gap at the right side of the row.

In your navbar template, locate the following code:
Code:
<if condition="$show['member']">
            <td class="vbmenu_control"><a href="login.php?$session[sessionurl]do=logout&amp;logouthash=$bbuserinfo[logouthash]" onclick="return log_out()">$vbphrase[log_out]</a></td>
        </if>
    </tr>
    </table>
and add below
Code:
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="0" border="0" width="100%" align="center" style="border-top-width:0px">
    <tr align="center">
<td class="vbmenu_control"><a href="index.php">Sample Link</a></td>
</tr>
</table>
Now you have set up your extra row, you can start adding links to it.

First remove the Sample link from the code above by deleting that line from the template. Then using the method from Part One, add your new links to this row. You can move links from the top row by cutting and pasting them into the new row.


Part Three: Showing Links To Guests Or Members Only

There are some things that you really don't want guests to know about. After all, what is the point of showing a guest the link to the usercp when all they will get is a no permissions message? So what can you do about it? Wrapping the whole code for the link in an if conditional will only show the link to those who meet the criteria set.

To show a link to members only use:
Code:
<if condition="$show[member]">[high]link code from part one[/high]</if>
This literally means what it says. If you are a member, then show the link.

The same works for guests:
Code:
<if condition="$show[guest]">[high]link code from part one[/high]</if>
Using these two conditions, you can show and hide links to guests and members. Any links that do not use a condition will always show.



I hope that this helps with managing links on your navbar better. Feel free to ask any questions related to this.
Reply With Quote
  #32  
Old 12-05-2008, 09:56 PM
24hourForum.com 24hourForum.com is offline
 
Join Date: May 2008
Posts: 133
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

Quick question,

<if condition="$show[member]">link code from part one</if>

i have different membership levels and want this code to show for usergroup id: 2 and 11 to only see the link, how can i make this possible? presently all members see it

thank you
Reply With Quote
  #33  
Old 12-11-2008, 01:33 PM
goxy63 goxy63 is offline
 
Join Date: Oct 2008
Location: its like another planet:D
Posts: 657
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I luv You Kerry-Anne
This helps me a LOT
Reply With Quote
  #34  
Old 12-11-2008, 07:12 PM
Kel-D Kel-D is offline
 
Join Date: Nov 2008
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by MYCNCUK View Post
The code below will give you a new navbar above and it will also look just like the other (correct borders and so on..)

This is for vB 3.7.1, change the links to what you would like them to be.

Code:
<!-- top nav links bar -->
<div class="tborder" style="padding:$stylevar[cellspacing]px; border-top-width:1px; border-bottom-width:0px">
    <table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
    <tr align="center">
        <td class="vbmenu_control"><a href="index.php?$session[sessionurl]">Home</a></td>
        <td class="vbmenu_control"><a href="online.php?$session[sessionurl]">$vbphrase[whos_online]</a></td>
        <td class="vbmenu_control"><a href="search.php?$session[sessionurl]do=getdaily">$vbphrase[todays_posts]</a></td>
        <td class="vbmenu_control"><a href="forumdisplay.php?$session[sessionurl]do=markread">$vbphrase[mark_forums_read]</a></td>
        <if condition="$show['member']">
        <td class="vbmenu_control"><a href="search.php?$session[sessionurl]do=process&showposts=0&starteronly=1&exactname=1&searchuser=$bbuserinfo[username]">My Threads</a> / <a href="search.php?$session[sessionurl]do=process&showposts=0&exactname=1&searchuser=$bbuserinfo[username]">Replies</a></td>
        <td class="vbmenu_control"><a href="#" onclick="window.open('misc.php?$session[sessionurl]do=buddylist&amp;focus=1','buddylist','statusbar=no,menubar=no,toolbar=no,scrollbars  =yes,resizable=yes,width=250,height=300'); return false;">$vbphrase[open_buddy_list]</a></td>
        <td class="vbmenu_control"><a href="member.php?$session[sessionurl]u=$bbuserinfo[userid]">$vbphrase[my_profile]</a></td>
        </if>
        <if condition="$bbuserinfo[usergroupid] == 6">
        <td class="vbmenu_control"><a href="$admincpdir/index.php$session[sessionurl_q]">AdminCP</a></td>
        </if>
     </tr>
    </table>
</div>
<!-- / top nav links bar -->
Enjoy !

Demo: www.mycncuk.com
Works perfectly! Thanks mate! :up:
Reply With Quote
  #35  
Old 01-04-2009, 06:22 PM
Bobbrown Bobbrown is offline
 
Join Date: Mar 2008
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, seem ok n 3.7.4pl1
Reply With Quote
  #36  
Old 01-23-2009, 04:50 AM
abqtj abqtj is offline
 
Join Date: Nov 2008
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for posting this!
Reply With Quote
  #37  
Old 01-25-2009, 11:34 AM
raja811 raja811 is offline
 
Join Date: Oct 2006
Posts: 390
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks
Reply With Quote
  #38  
Old 02-07-2009, 09:08 PM
bposner bposner is offline
 
Join Date: Feb 2009
Posts: 150
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Where is this done. Seems simple enough but new to this code. Where are we editing this please?

Thank you
Reply With Quote
  #39  
Old 02-07-2009, 09:14 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 bposner View Post
Where is this done. Seems simple enough but new to this code. Where are we editing this please?

Thank you
It should be in the navbar template (Admin CP > Style & Templates > Style Manager > find your style in the list > Edit Templates from teh dropdown > Go > then expand the template list by hitting <<>> )
Reply With Quote
  #40  
Old 02-07-2009, 11:25 PM
bposner bposner is offline
 
Join Date: Feb 2009
Posts: 150
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
It should be in the navbar template (Admin CP > Style & Templates > Style Manager > find your style in the list > Edit Templates from teh dropdown > Go > then expand the template list by hitting <<>> )
Lynne,
Thank you very much for your quick reply.
I actually got that far before but didn't know what file/template to go to to actually list the code. I see the Navigation/Breadcrumb Templates and a list of four selections, but then I can't find what I'm look for .. I am in the right place, yes?
I am trying to do a simple thing, the sytle seems to have removed the "Forum" or Forum Display link to list all the forums and just trying to get it back

Thank you for your time
Bill
Reply With Quote
  #41  
Old 02-08-2009, 02:58 AM
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 bposner View Post
Lynne,
Thank you very much for your quick reply.
I actually got that far before but didn't know what file/template to go to to actually list the code. I see the Navigation/Breadcrumb Templates and a list of four selections, but then I can't find what I'm look for .. I am in the right place, yes?
I am trying to do a simple thing, the sytle seems to have removed the "Forum" or Forum Display link to list all the forums and just trying to get it back

Thank you for your time
Bill
Do you see a template called 'navbar' under the Navigation /Breadcrumb templates? That is the template you need to modify for the navigation bar. If you have another style, it could be that they don't have the navigation in the navbar template. In that case, you need to figure out which template they put them in. To find the template, do this - vboptions > General Settings > Add Template Name in HTML Comments > set to Yes . Then go back to your page and view the source code and you will see the name of the template called around your part of the code. Sometimes the template is the one mentioned at the very top of the page source.
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:31 AM.


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.05318 seconds
  • Memory Usage 2,337KB
  • 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
  • (11)bbcode_code
  • (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
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete