vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Collapsable forums on forum home (https://vborg.vbsupport.ru/showthread.php?t=33961)

dabean 07-26-2003 06:55 PM

Quote:

Today at 08:34 PM jackomo said this in Post #330
Yes, that's what i did...it still doesn't work....

When i put the code in the level2_nopost, it works like a charm.

when i put the code in the new level3_nopost i created, it doesn't work.

Define doesn't work.

The level3 template doesn't appear?
The plus minus symbols don't appear but the level3 template does?
The level4 template doesn't appear?

jackomo 07-26-2003 07:08 PM

i created both level3_no post and level4_post templates and they appear under the custom templates.

These 2 templates were not there before, i only had level 1 and level 2, so i added them.

When i go back into the forums and click through each category, i see the templates, but no (+/-) symbols at the third level.

Example...

Canada (Category 1) - level 1 no post - i can see this page.
|
Computers (Category 2) - level 2 no post - i can see this page.
|
Hardware (Category 3) - level 3 no post - i can see this page but no (+/-) next to it.
|
Part 1, Part2,...(Postable forums) - level 4 post - i can see this page but it does not collapse

dabean 07-26-2003 07:14 PM

Define "click through each category", as this hack only applies to the main index page. It does not apply to any of the sub views inside forumdisplay.

jackomo 07-26-2003 07:34 PM

Well, when the main page comes up you will see Canada as a main category then Computers as a sub-category under it.

When i click on Computers, there is another sub-category called Hardware under that.

Hardware contains a bunch of parts that i would like to collapse.

Is this possible with your hack?

dabean 07-26-2003 07:41 PM

Quote:

Today at 09:34 PM jackomo said this in Post #334
Well, when the main page comes up you will see Canada as a main category then Computers as a sub-category under it.

When i click on Computers, there is another sub-category called Hardware under that.

Hardware contains a bunch of parts that i would like to collapse.

Is this possible with your hack?

If when you click on the category the url changes from index.php to forumdisplay.php then no.

This hack was designed for cases where lots of forums are required to be display on the home page.

Most of the installations using forums 3 or more levels deep with this hack alter the "depth of forums" setting to show all the required forums on the index page.

vBulletin Options > Forums Home Page Options > Depth of Forums

jackomo 07-26-2003 07:52 PM

aahh...ok...the URL does change to forumdisplay.php

I changed the forum depth to 3 as you suggested.

Now the (+/-) appears...

Ok....well, thanks for all your help i really appreciate it.

Sorry to have wasted your time.

jackomo 07-27-2003 02:44 PM

Hey Dabean,

How hard would it be to change this chack to work with Forum Display?

dabean 07-27-2003 03:35 PM

Just copy paste the existing code into the correct places inside forumdisplay.php. No further template modifications are required.

Find
PHP Code:

function makeforumbit($forumid,$depth=1,$permissions='') {
  global 
$DB_site,$bbuserinfo,$iforumcache,$ipermcache,$imodcache,$session,$accesscache,$usergroupdef,$noperms;
  global 
$showlocks,$hideprivateforums,$showforumdescription,$forumdisplaydepth,$dateformat,$timeformat,$forumshown,$enableaccess;
  global 
$bbforumview

Below add
PHP Code:

// expand collapse hack
global $BrowserDOM$collapsedstate;
// end expand collapse hack 



Find
PHP Code:

if ($forum['cancontainthreads']==1) {
  
$tempext '_post';
} else {
  
$tempext '_nopost';


Below add
PHP Code:

// expand collapse hack
if ($BrowserDOM==True) {
  if ((!isset(
$z)) or ($depth==1)) {
    
$z=0;
  } else {
    
$z++;
  }
  
// get state of collapse
  
if ($forum[parentid]==-1) {
   
$collapsedstate=$forum['collapsed'];
  }
  
// auto collapse forums based on forum setting
  
if ($collapsedstate==1) {
   
$fhomeexpandstyle="style=\"visibility:hidden; display:none;\"";
  } else {
   
$fhomeexpandstyle="";
  }

  
// auto collapse forums for user
  
if (getViewSetting($forum['parentid'])==1) {
   
$fhomeexpandstyle="style=\"visibility:hidden; display:none;\"";
  } elseif (
getViewSetting($forum['parentid'])==2) {
   
$fhomeexpandstyle="";
  }

  
// display correct item (this can not be simplified into the block above
  // due to CSS2 defining special display values for tables, eg display:table-row;)
if ($collapsedstate==1) {
   
$divexpand "display: inline;visibility: visible;";
   
$divcollapse "display: none;visibility: hidden;";
} else {
   
$divexpand "display: none;visibility: hidden;";
   
$divcollapse "display: inline;visibility: visible;";
}

if (
getViewSetting($forum['forumid'])==1) {
   
$divexpand "display: inline;visibility: visible;";
   
$divcollapse "display: none;visibility: hidden;";
  } elseif (
getViewSetting($forum['forumid'])==2) {
   
$divexpand "display: none;visibility: hidden;";
   
$divcollapse "display: inline;visibility: visible;";
  }
  eval(
"\$expandcontract = \"".gettemplate("forumhome_expandcontract")."\";");
}
// end expand collapse hack 

Find:
PHP Code:

$forumbits=makeforumbit($forumid1$permissions); 

Above add:
PHP Code:

// expand collapse hack
$fviewcache=BuildViewSettingCache(); // create cache
// end expand collapse hack 


Find
PHP Code:

if ($forumshown==1) {
  eval(
"\$forumdisplay[forumslist] = \"".gettemplate('forumdisplay_forumslist')."\";");
} else {
  
$forumdisplay['forumslist']='';



Change it to:
PHP Code:

if ($forumshown==1) {
  
// expand collapse hack
  
if ($BrowserDOM==True) {
    eval(
"\$expandcontractscript = \"".gettemplate('forumhome_expandjscript')."\";");
  }
  
// end expand collapse hack
  
eval("\$forumdisplay[forumslist] = \"".gettemplate('forumdisplay_forumslist')."\";");
} else {
  
$forumdisplay['forumslist']='';



Alter:
PHP Code:

require('./global.php'); 

into:
PHP Code:

// expand collapse hack
require('./admin/getbrowser.php');
require(
'./admin/getforumview.php');
$BrowserDOM=GetBrowserDOM2();
$templatesused.=',forumhome_expandcontract,forumhome_expandjscript';
// end expand collapse hack

require('./global.php'); 


jackomo 07-27-2003 04:01 PM

ok...made the changes to forumdisplay.php as you said and the (+/-) didn't show up.

so, i edited the forumdisplay_forumbit_level1_nopost, by adding the "$expandcontract" and the (+/-) shows up but it doesn't work.

so, i edited the forumdisplay_forumbit_level2_post, by changing to "<tr id="f$forum[parentid]z$z" $fhomeexpandstyle align="center">"

When i put my mouse over the (+/-), it says there is an error on the page.

jackomo 07-28-2003 01:59 PM

We have a winner!

I got it working...

i forgot to edit the forumdisplay template

I added the "$expandcontractscript" to the forumdisplay template and it is working perfect now.

Thanks for all your help....


All times are GMT. The time now is 06:56 PM.

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.04133 seconds
  • Memory Usage 1,785KB
  • 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
  • (10)bbcode_php_printable
  • (2)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