vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Member Archives (https://vborg.vbsupport.ru/forumdisplay.php?f=202)
-   -   How do I remove certain cats from navbits? (https://vborg.vbsupport.ru/showthread.php?t=42398)

Jakeman 08-17-2002 06:50 AM

How do I remove certain cats from navbits?
 
Christophe_O says:

Quote:

Originally posted by smachol
$navbits... is in functions.php... :)
Am I correct in saying, then, that to modify the navbar requires PhP coding---therefore this would be a "hack" and not a template modification?

What I want to do is remove the forum category from the navbar.

I did look in functions.php, and found "$navbits=makenav" So I went farther down to "function makenav"----but well, I don't know PhP......

Well, maybe this is beyond the scope of this forum.... but anyway here is the makenav. Can someone tell me what to remove to take out the forum category from the navbar? Just copy and paste in your reply what to remove.... That is, IF this is the right function and IF it's easy for an experienced programmer to spot...

PHP Code:

function makenav($id,$idtype="forum",$highlightlast=1) {
  global 
$DB_site,$nav_url,$nav_title,$session,$threadcache;
  
$code "";
  if (
$id!=-1) {
    if (
$idtype=="thread") {
      if ( !isset(
$threadcache["$id"]) ) {
        
$getforumid=$DB_site->query_first("SELECT forumid FROM thread WHERE threadid=$id");
      } else {
        
$getforumid['forumid'] = $threadcache["$id"]['forumid'];
      }
      
$code=makenav($getforumid['forumid'],"forum",1);

      if (
$highlightlast) {
        
$templatename="nav_linkon";
      } else {
        
$templatename="nav_linkoff";
      }

      if (
strlen($code)>0) {
        
$code.=gettemplate("nav_joiner",0);
      }

      
$threadinfo=getthreadinfo($id);
      
$nav_url="showthread.php?s=$session[sessionhash]&threadid=$id";
      
$nav_title=$threadinfo[title];

      eval(
"\$code .= \"".gettemplate("$templatename")."\";");
    } else {
      
$foruminfo=getforuminfo($id);
      if (
$foruminfo[parentid]!=-1) {
        
$code=makenav($foruminfo[parentid],$idtype,1);
      }

      if (
strlen($code)>0) {
        
$code.=gettemplate("nav_joiner",0);
      }

      
$nav_url="forumdisplay.php?s=$session[sessionhash]&forumid=$id";
      
$nav_title=$foruminfo[title];

      if (
$highlightlast) {
        eval(
"\$code .= \"".gettemplate('nav_linkon')."\";");
      } else {
        eval(
"\$code .= \"".gettemplate('nav_linkoff')."\";");
      }

    }
  }
  return 
$code;




Jakeman 08-17-2002 06:53 AM

i just did that on my forums. here is my makenavbar function for my 2.2.5 forums:

PHP Code:

// ###################### Start makenavbar #######################
$altnavbar 0;
function 
makenavbar($id,$idtype="forum",$highlightlast=1) {
    global 
$header,$footer,$headinclude,$toplinks,$forumjump,$timezone,$bbtitle,
        
$hometitle,$bburl,$homeurl,$copyrighttext,$privacyurl,$contactuslink,
        
$webmasteremail,$technicalemail,$faxnumber,$address,$companyname,$titleimage,
        
$replyimage,$newthreadimage,$closedthreadimage,$lastvisitdate,$timenow,$navbits,
        
$templateversion,$session,$altnavbar;

    
$navbits=makenav($id,$idtype,$highlightlast);

    if (
$altnavbar) {
        
$navbits explode(gettemplate("nav_joiner"),$navbits);
        while (list(
$key,$val)=each($navbits)) {
            
$altnavbits .= "<br>$altnavprefix<img src=\"{imagesfolder}/cascade/casendline.gif\"><img src=\"{imagesfolder}/cascade/casicon.gif\">&nbsp;&nbsp;$val\n";
            
$altnavprefix .= "<img src=\"{imagesfolder}/cascade/casvertline.gif\">";
        }
        eval(
"\$navbar = \"".gettemplate("navbaralt")."\";");
    } else {
        eval(
"\$navbar = \"".gettemplate("navbar")."\";");
    }

    return 
$navbar;
}

function 
makenav($id,$idtype="forum",$highlightlast=1) {
  global 
$DB_site,$nav_url,$nav_title,$session,$threadcache;
  
$code "";
  if (
$id!=-1) {
    if (
$idtype=="thread") {
      if ( !isset(
$threadcache["$id"]) ) {
        
$getforumid=$DB_site->query_first("SELECT forumid FROM thread WHERE threadid=$id");
      } else {
        
$getforumid['forumid'] = $threadcache["$id"]['forumid'];
      }
      
$code=makenav($getforumid['forumid'],"forum",1);

      if (
$highlightlast) {
        
$templatename="nav_linkon";
      } else {
        
$templatename="nav_linkoff";
      }

      if (
strlen($code)>0) {
        
$code.=gettemplate("nav_joiner",0);
      }

      
$threadinfo=getthreadinfo($id);
      
$nav_url="showthread.php?s=$session[sessionhash]&threadid=$id";
      
$nav_title=$threadinfo[title];

      eval(
"\$code .= \"".gettemplate("$templatename")."\";");
    } else {
      
$foruminfo=getforuminfo($id);
      if (
$foruminfo[parentid]!=-1) {
        
$code=makenav($foruminfo[parentid],$idtype,1);
      }

//MOVED DOWN
//      if (strlen($code)>0) {
//        $code.=gettemplate("nav_joiner",0);
//      }
//MOVED DOWN

      
$nav_url="forumdisplay.php?s=$session[sessionhash]&forumid=$id";
      
$nav_title=$foruminfo[title];

//CERTAIN CATS DON'T SHOW

if ($id == 50 || $id == 28 || $id == 21 || $id == 23 || $id == 46 || $id == 48 || $id == 49) {

} else {

      if (
strlen($code)>0) {
        
$code.=gettemplate("nav_joiner",0);
      }

//END HACK
      
if ($highlightlast) {
        eval(
"\$code .= \"".gettemplate('nav_linkon')."\";");
      } else {
        eval(
"\$code .= \"".gettemplate('nav_linkoff')."\";");
      }

//CERTAIN CATS DON'T SHOW

}

//END HACK

    
}
  }
  return 
$code;



you need to manually add the forumids of your categories you don't want to show in this line:

PHP Code:

if ($id == 50 || $id == 28 || $id == 21 || $id == 23 || $id == 46 || $id == 48 || $id == 49


Boofo 08-17-2002 07:18 AM

Is there a way to take just the thread title out of the navbar?

Christophe_O 08-17-2002 07:19 AM

Thank you, Jake, this looks do-able.

A minute ago, I also happened to notice there are 2 references to a "nav_joiner"----and of course there are 2 ">" joiners in the navbar-----so I was thinking, maybe just remove most of the section above the first reference to a "nav_joiner".....

.......well, guess that won't do..... heh....

Jakeman 08-17-2002 07:27 AM

Quote:

Originally posted by Christophe_O
Thank you, Jake, this looks do-able.

A minute ago, I also happened to notice there are 2 references to a "nav_joiner"----and of course there are 2 ">" joiners in the navbar-----so I was thinking, maybe just remove most of the section above the first reference to a "nav_joiner".....

.......well, guess that won't do..... heh....

notice i completely commented out the original instance of:

PHP Code:

      if (strlen($code)>0) {
        
$code.=gettemplate("nav_joiner",0);
      } 

make sure you comment out that one and add the one within the if statement. if the makenavbits function hasn't changed between 2.2.5 and 2.2.6 then you can just copy and paste my whole function and put in your own forumids in the if statement.

Jakeman 08-17-2002 07:30 AM

Quote:

Originally posted by Boofo
Is there a way to take just the thread title out of the navbar?
sure. i will test it and post the code when i make sure it's working. i'm going to sleep right now.

Boofo 08-17-2002 07:35 AM

Thank you very much. I will be looking forward to this. :)

Quote:

Originally posted by Jakeman


sure. i will test it and post the code when i make sure it's working. i'm going to sleep right now.


Christophe_O 08-17-2002 02:19 PM

Quote:

Originally posted by Boofo
Is there a way to take just the thread title out of the navbar?
I have sort of the opposite question: is there a way to state ONLY the title of the current page.

I am coming along nicely with a new "framed" version of vB---I can put all necessary links into a banner frame---so I actually don't need a Navbar at all---just need a way to "name the current page..."

Jakeman 08-18-2002 07:48 AM

i haven't had a chance to look at this yet. :(

@Christophe_O - the page title is already in the... title tag, right? :p wouldn't you just remove the navbits completely then?

Christophe_O 08-18-2002 05:56 PM

Well, maybe so, Jake. Anyway, the hack that you kindly have supplied here also is very do-able. Thank you.


All times are GMT. The time now is 10:09 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.01153 seconds
  • Memory Usage 1,807KB
  • 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
  • (4)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (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