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)

Eric Anderson 11-26-2009 04:50 PM

1 Attachment(s)
Thanks for the quick reply... Great article. In the attachment you can see that I have it working. What I am looking to do is add a sub menu to the sub menu. I have the Tech Area tab then the sub menu that has Carbs trying to add a sub menu to carbs so it will have Cleaning link and Jetting link. So basically making when you click on carbs it does not take you to Carbs.php but opens a sub menu that would have links to jetting.php and Cleaning.php

Thanks
Eric
PHP Code:

$tabselected '';
$tablinks '';
if (
THIS_SCRIPT == 'Tech')
{
    
$vbulletin->options['selectednavtab']='Tech Area';
    
$tabselected ' class="selected"';
    
$tablinks '                <ul class="floatcontainer">
                        <li class="popupmenu">
                                <a href="javascript://" class="popupctrl">Vmax-4 750</a>
                                <ul class="popupbody popuphover">
                                        <li><a href="Carbs.php">Carbs</a></li>
                                        <li><a href="Clutch750.php">Clutching & Gearing</a></li>
                                        <li><a href="Pipes750.php">Pipes</a></li>
                                        <li><a href="Track.php">Track</a></li>
                                        <li><a href="Setup750.php">Setups</a></li>
                                </ul>
                            </li>
                            <li class="popupmenu">
                                <a href="javascript://" class="popupctrl">Vmax-4 800</a>
                                <ul class="popupbody popuphover">
                                        <li><a href="Carbs.php">Carbs</a></li>
                                        <li><a href="Clutch800.php">Clutching & Gearing</a></li>
                                        <li><a href="Pipes800.php">Pipes</a></li>
                                        <li><a href="Track.php">Track</a></li>
                                        <li><a href="Setup800.php">Setups</a></li>
                                </ul>
                            </li>
                        <li><a href="Specs.php">Stock Specs</a></li>
                </ul> '
;


$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="Tech.php">Tech Area</a>'.$tablinks.'</li>' 


Lynne 11-26-2009 04:53 PM

I don't know how to add a submenu to a submenu as I haven't tried to do that. You'll have to play with the css to do that.

Anseur 11-30-2009 08:33 PM

Is there any way to use vb if statements with this mod?

I tried wrapping certain links under the custom tab in the

Code:

<vb:if condition="$show['modcplink']">
*stuff here*
</vb:if>

(I only wish admins/mods to be able to see a certain link)

but it completely breaks this plugin, you get a
Quote:

Parse error: syntax error, unexpected T_STRING in /home/anseur/public_html/vb4test/includes/class_bootstrap.php(386) : eval()'d code on line 23
message from vb at the top of the custom page.

Does perhaps some other function have to be called in either this or the .php page in question? (I'm using the custom php page Lynne posted an article on in conjunction with this plugin)

the same vb if statement works if I put it elsewhere within a template that apears on the page, but I would like the link in question to be in the navbar and not in the body.

Lynne 11-30-2009 08:50 PM

This post shows how to use conditions to add the links - https://vborg.vbsupport.ru/showpost....6&postcount=28 See if that helps.

Anseur 12-01-2009 08:15 AM

I actualy tried that way of doing it too, what happens if with is, the if conditional just gets put in the navbar as plain text, as if vb is not seeing it as a conditional. I notice the syntax highlighting on the plug code input page also doesn't color the extra if statement in green like the if statement at the top for the 'this_script ==' one.

Here's my complete code for the navtab plugin:

Code:

$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'dkp.php')
{
    $vbulletin->options['selectednavtab']='dkp_listmembers';
    $tabselected = ' class="selected"';
    $tablinks = '                <ul class="floatcontainer">



                            <li class="popupmenu">
                                <a href="javascript://" class="popupctrl">Administration</a>
                                <ul class="popupbody popuphover">
if (is_member_of($vbulletin->userinfo, 5, 6, 13, 14)) 
{
                                        <li><a href="/25manwrathplus/admin/" target=dkp_frame>Eqdkp Admin Index</a></li>
                                        <li><a href="/25manwrathplus/plugins/ctrt/" target=dkp_frame>Import CTRA String</a></li>
                                        <li><a href="/25manwrathplus/admin/addiadj.php" target=dkp_frame>Do Adjustments</a></li>
}

                                </ul>
                            </li>


                        <li><a href="/25manwrathplus/listmembers.php?s="
target=dkp_frame>Standings</a></li>
                        <li><a href="/25manwrathplus/listraids.php?s="
target=dkp_frame>Raids</a></li>
                        <li><a href="/25manwrathplus/listevents.php?s="
target=dkp_frame>Events</a></li>
                        <li><a href="/25manwrathplus/listitems.php?s="
target=dkp_frame>items</a></li>
                        <li><a href="/25manwrathplus/listitems.php?s=&p=history"
target=dkp_frame>History</a></li>
                        <li><a href="/25manwrathplus/stats.php?s="
target=dkp_frame>Stats</a></li>
                        <li><a href="/25manwrathplus/plugins/raidplan/listraids.php?s="
target=dkp_frame>Raid Planner</a></li>
                        <li><a href="/25manwrathplus/plugins/raidplan/raidstats.php?s="
target=dkp_frame>Raid Planner Stats</a></li>


                            <li class="popupmenu">
                                <a href="javascript://" class="popupctrl">Your DKP Account</a>
                                <ul class="popupbody popuphover">

                                        <li><a href="/25manwrathplus/settings.php?mode=account" target=dkp_frame>Account Settings</a></li>
                                        <li><a href="/25manwrathplus/plugins/raidplan/usersettings.php" target=dkp_frame>Raid Planner Settings</a></li>
                                        <li><a href="/25manwrathplus/login.php?logout=true" target=dkp_frame>Log Out of Eqdkp</a></li>
                                        <li><a href="/25manwrathplus/login.php" target=dkp_frame>Log Into Eqdkp</a></li>

                                </ul>
                            </li>

                </ul> ';


}
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab" href="dkp.php">DKP</a>'.$tablinks.'</li>' ;

I tried putting the conditional before the first <li> on the top most popup control, before the <a> just below it, and where you see it now. (with the bracket closed in the appropriate place in each instance. same thing happens on each occasion.

Only difference I can see in the example you gave and my version, is I'm trying to hide an entire popup control to non admins, your example just tries to hide a link.

Lynne 12-01-2009 02:34 PM

I'd suggest you start over with the plugin because you've totally messed up the structure of the submenu.

The reason why you are ending up with the condition showing up in the code is because you are putting it there. Look again at the code I wrote. You need to *end* your writing to the variable $tablinks, then do the condition and add to $tablinks if the condition is true, and then continue writing to it later on. But, you need to break out of writing to it in order to do the condition - you just put the condition right in the middle of it! Basically:
PHP Code:

$tablinks 'a bunch of stuff';
if (
is_member_of($vbulletin->userinfo561314))  
{
      
$tablinks .= 'more stuff if condition is true';
}
$tablinks .= 'and more stuff'


Anseur 12-01-2009 03:18 PM

Quote:

Originally Posted by Lynne (Post 1923559)
I'd suggest you start over with the plugin because you've totally messed up the structure of the submenu.

Nah, no need. It's not 'messed up' it's layout is exactly how I intend it to look, with multiple drop downs etc. It works perfectly without the condition in it.

Quote:

Originally Posted by Lynne (Post 1923559)
But, you need to break out of writing to it in order to do the condition - you just put the condition right in the middle of it! Basically:
PHP Code:

$tablinks 'a bunch of stuff';
if (
is_member_of($vbulletin->userinfo561314))  
{
      
$tablinks .= 'more stuff if condition is true';
}
$tablinks .= 'and more stuff'


From this example I understand. I'm not really a coder so I didn't understand what the $tablinks did, now with that example, I do.

Thanks again.

Lynne 12-01-2009 03:27 PM

Quote:

Originally Posted by Anseur (Post 1923575)
Nah, no need. It's not 'messed up' it's layout is exactly how I intent it to look, with multiple drop downs etc. It works perfectly without the condition in it.

Maybe I did something weird on my end, but when I tried it, it did some wacky things.

oooh em geee 12-02-2009 09:07 PM

I did everything you said in the first post, and it works perfectly. There is only one thing I can't figure out.

If I click the links below the button, link1.php for example, it doesn't keep that button selected. It highlights the forum button again.

Is there anyway I can put multiple "yourpage" names in that code so it keeps the button highlighted even when going to a page by clicking a link below the button?

if (THIS_SCRIPT == 'yourpage')

--------------- Added [DATE]1259795597[/DATE] at [TIME]1259795597[/TIME] ---------------

NVM fixed it

oooh em geee 12-02-2009 09:59 PM

1 Attachment(s)
I fixed the first issue I had, but I have another question. In my images you can see what I mean.

I want the second image, the affiliate one, to show home in front of it as well. Just like in the first image. How can I change that?

Like it says: Home > Frontpage

And the other one only says: Affiliates


All times are GMT. The time now is 12:58 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.01765 seconds
  • Memory Usage 1,804KB
  • 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
  • (2)bbcode_code_printable
  • (3)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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