vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   Navbar Tab Addition for CMS Sections - Highlighting (https://vborg.vbsupport.ru/showthread.php?t=277756)

Aaron310012 01-30-2012 02:48 AM

Navbar Tab Addition for CMS Sections - Highlighting
 
Hello,

I have created several new Navbar tabs linking to different CMS sections using the solution found here:

https://vborg.vbsupport.ru/showthread.php?t=226914

The tabs work great, but do not highlight when selected. Instead, "Home" remains highlighted.

I've been working with this for a while without any luck. I understand that I must define a condition for the highlighting to work but since these are all CMS section pages THIS_SCRIPT always = 'vbcms' for all of the section pages, so this is not a unique condition. I have also tried to define the URL several different ways using both standard URLs and Friendly URLs without success.

Here is an example of the plugin code I'm trying to use for a "Contact" tab:

$tabselected = '';
$tablinks = '';
if (THIS_SCRIPT == 'Contact')
{
$vbulletin->options['selectednavtab']='Contact';
$tabselected = ' class="content"';
}
$template_hook['navtab_end'] .= '<li'.$tabselected.'><a class="navtab"

href="content.php/102-Contact">Contact</a>'.$tablinks.'</li>' ;


I have also tried to define "THIS_SCRIPT ==" as all variants of the actual URL as well as R= etc.

Does anyone happen to have any advice regarding the proper way to define a unique variable for the section pages of the CMS? Thanks in advance for any input!

Lynne 01-30-2012 08:32 PM

You need to change the condition for highlighting the Home tab (in the vBulletin CMS product - Navbar: Insert CMS Navbar Entry plugin) to exclude highlighting it under the conditions you want the other tabs to show as highlighted.

Aaron310012 02-02-2012 01:55 AM

Hello and thanks for the reply!

Could you please give an example of how to access the URL (or RELPATH) from within the plugin? That is the only condition that I can find that differs among the Home tab & the other tabs that I have created. When I attempt it now, the value of RELPATH is blank, so there is no condition that is true on the created tabs but not the Home.

Any help or ideas you give would be greatly appreciated.

Lynne 02-02-2012 05:44 PM

This is not valid for a content.php page:
PHP Code:

if (THIS_SCRIPT == 'Contact'

So, once you find a valid condition, then you will be able to add it to the other condition. It would use $_GET['r'] in the condition.

Aaron310012 02-07-2012 02:17 AM

Lynne,

I used $_GET['r'] as the unique condition, combined with the Navbar: Insert CMS Navbar Entry suggestion, and everything is working perfectly.

Thanks so much for your help; I really appreciate it! :)

Aaron

Lynne 02-07-2012 11:51 PM

Glad you got it working. :)

MajinOLesedi 05-08-2012 01:10 PM

Quote:

Originally Posted by Aaron310012 (Post 2297068)
Lynne,

I used $_GET['r'] as the unique condition, combined with the Navbar: Insert CMS Navbar Entry suggestion, and everything is working perfectly.

Thanks so much for your help; I really appreciate it! :)

Aaron

Hello, lol Can you tell me how managed this. Im not too familiar with php yet. Im at the same problem you had. Can you post the code?

Lynne 05-08-2012 02:37 PM

If you click to view a page in the CMS and look at the URL, you will see something like "r=1-the-front-page". The $_GET['r'] variable is "1-the-front-page". Although it's easier to use intval and just use the number. So, a condition could be:

PHP Code:

if (intval($_GET['r']) == x) {
code



MajinOLesedi 05-08-2012 05:36 PM

Ok I get it now but im not too familiar on how I can execute the code that will un-highlight the Home Tab if Im on the News Tab.

This is my custom New Tab plugin
PHP Code:

$tabselected ''
$tablinks ''
if (
intval($_GET['r'])) 

    
$vbulletin->options['selectednavtab']='News'
    
$tabselected ' class="selected"'
    
$tablinks '                <ul class="floatcontainer"> 
                        <li><a href="/content.php?5-News">Doc</a></li>
                        <li><a href="link2.php">Link 2</a></li> 
                        <li><a href="link3.php">Link 3</a></li> 
                </ul> '


}  
$template_hook['navtab_start'] .= '<li'.$tabselected.'><a class="navtab" href="/content.php?5-News">News</a>'.$tablinks.'</li>' 


I have this on my Navbar: Insert CMS Navbar Entry plugin
PHP Code:

if (defined('CMS_SCRIPT') AND class_exists('vBCms_Navbar'))
{
    
$vbulletin->options['selectednavtab'] = 'vbcms';
    
$template_hook['navtab_start'] .= vBCms_NavBar::renderView();
}

if (
intval($_GET['r'] == 'r=5-News')) {

}

else
{
    if (
can_see_cms())
    {
    
$template_hook['navtab_start'] .= vB_Template::create('vbcms_navbar_link')->render();
        
$template_hook['navbar_getnew_menu_pos1'] .= vB_Template::create('vbcms_navbar_whatsnew_link')->render();
    }


What code should I execute to have only the current tab to be highlighted?

PHP Code:

if (intval($_GET['r'] == 'r=5-News')) {
   ?



Lynne 05-09-2012 02:02 PM

This is the line you needed to modify to exclude your own condition:

PHP Code:

if (defined('CMS_SCRIPT') AND class_exists('vBCms_Navbar')) 

to something like:

PHP Code:

if (defined('CMS_SCRIPT') AND class_exists('vBCms_Navbar') AND (intval($_GET['r']) != 5)) 


MajinOLesedi 05-10-2012 04:49 AM

Thanks it worked


All times are GMT. The time now is 06:57 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.03076 seconds
  • Memory Usage 1,754KB
  • 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_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (11)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete