The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
Vbulletin 5, how to hide forum sub-categories on home page ?
Good day to all vbulletin geeks
Any idea on how to hide all forum sub-categories and their sub-categories from the home page ? We are using Vbulletin 5 default style. We will answer the funny unintuitive question before someone will have the first honor ; AND WHY WOULD WE WANT TO DO THAT ? Well of course you must have guessed it : We simply have too many sub-categories which makes the main page look too long This is the case scenario : We have 5 main categories ACTING AS CATEGORIES not channels Under each we have about 5 sub-categories , also ACTING AS CATEGORIES not channels Then finally under each we have about 5 sub categories, those are already ACTING AS CHANNELS meaning user can post So again to further clarify we want to hide all sub-categories and their sub-categories from the main or home page, thus leaving only the main categories to display on the home page, so the rest of sub-categories and their sub-categories and channels are viewable only when the user clicks any of the main categories URLS thus navigating to that particular main category forum URL Any ideas ? most importantly not a JAVA SCRIPT because it wouldnt be compatible with some browsers Also hopefully a direct edit to the vB5 DEFAULT STYLE templates and not a css_additional.css ? |
#2
|
||||
|
||||
May be you are looking for this ...
edit display_Forums_list template and comment out this block of code. This code is from vb 5.3.4 HTML Code:
<vb:if condition="!empty($forum['subchannels'])"> <!-- Sub-Forums --> <tr class="subforum-list"><td colspan="4"> <div class="subforum-header h-clear">{vb:rawphrase sub_forums}:</div> <table> {vb:set cols, 1} <vb:each from="forum.subchannels" value="subforum"> <vb:if condition="(($cols - 1) % $subChannelsPerRow == 0)"> <tr> </vb:if> {vb:set colspan, ''} <vb:if condition="($cols == count($forum['subchannels'])) AND (($remaining = ($cols % $subChannelsPerRow)) != 0)"> {vb:set colspan, {vb:concat 'colspan="', {vb:math {vb:raw subChannelsPerRow} - {vb:raw remaining} + 1}, '"'}} </vb:if> <td class="subforum-item" data-lastcontent="{vb:raw subforum.lastcontent.created}" data-channel-id="{vb:raw subforum.nodeid}" {vb:raw colspan}> <div class="subforum-info"> <span class="icon<vb:if condition="!empty($subforum['is_new'])"> new</vb:if>"></span> <a href="{vb:url {vb:raw subforum.routeid}}" class="subforum-title">{vb:raw subforum.title}</a> <span class="counts">({vb:number {vb:raw subforum.topics}}/{vb:number {vb:raw subforum.posts}})</span> </div> </td> <vb:if condition="($cols % $subChannelsPerRow == 0) OR $cols == count($forum['subchannels'])"> </tr> </vb:if> {vb:set cols, {vb:math {vb:var cols} + 1}} </vb:each> </table> </td></tr> </vb:if> |
#3
|
|||
|
|||
For the 3rd time on the row , thanks again SVENSKINS
Your solution is simple, intuitive and verily worked like a charm BUT in our case we have 2 levels under each category such as MAIN CATEGORY no post, which leads to several SUB CATEGORIES no post , which finally leads to the last level SUB CATEGORIES acting as channel and users may post only at that level So your solution is brilliant and reliable at hiding the last most SUB CATEGORY that is acting as channel and at which users may post But it left behind the MIDDLE SUB CATEGORY which is after from the MAIN CATEGORY and before to the last most SUB CATEGORY that is acting as channel and at which users may post So we wanted to leave behind in the home page only the MAIN CATEGORIES and hide ALL SUB CATEGORIES that are dependent on the MAIN CATEGORY In other words on the home page we will keep only parent MAIN CATEGORIES, and hide all CHILDREN /SUB CATEGORIES, because anyway when the user will click on any of the MAIN MOST CATEGORIES it will lead him to the next page showing now all the children categories! Any thoughts pls ? |
#4
|
||||
|
||||
PM me the link to your site ... as I don't have the categories set up like you have, on my dev site.
|
#5
|
|||
|
|||
sorry forgot all about it , since the site is under development so the forums are off
anyway what we have is absolutely all the defaults of vBulletin even mods are also totally off and we are using default style as well. our forum topics hierarchy is as follows: MAIN CATEGORY "acts as category so no post" -------> SUB CATEGORY "also acts as category so no post" and this SUB CATEGORY is the children of the MAIN CATEGORY which we still need to hide from forum home page -------> then a final SUB CATEGORY "where users may post " which is the children of the above mentioned SUB CATEGORY of the MAIN CATEGORY and which with your advice we were able to hide from home page |
#6
|
||||
|
||||
You can either hide channels by setting the display order to "0" or you can hide channels by changing the usergroup permissions for each channel. Everything is node-based. There really aren't any "sub-forums" in vB5.
|
#7
|
|||
|
|||
tnx for the contribution but this suggestion is out of the context of the topic
when you set display to 0 the topic disappears from all pages, we need to hide only "in the main page" all the children of the MAIN CATEGORIES , basically leaving in the MAIN PAGE only the MAIN CATEGORIES But when you navigate through any of the MAIN CATEGORIES into their respective URLS's you should be able to see again all the children of the MAIN CATEGORY ! This is done to shorten and tidy up the view of the home page especially when the SUB CATEGORIES "children" of your MAIN CATEGORIES and also the "children" of those SUB CATEGORIES are quite many. |
#8
|
||||
|
||||
Here we go .. edit display_Forums_item template
Add this .. edit node ID Code:
<vb:if condition="$page['channelid'] != 2"> Above this line .... Code:
<tr class="forum-item {vb:raw forumCssPrefix} forum-item{vb:raw forumStatus}" id="forum{vb:raw forum.nodeid}" data-channel-id="{vb:raw forum.nodeid}" data-lastcontent="{vb:raw forum.lastcontent.created}" data-readtime="{vb:raw forum.readtime}"> Add this below last line in the template ... HTML Code:
</vb:if>
|
#9
|
|||
|
|||
thanks again for your valued assistance, this vb:if condition you suggested is interesting and seems to have an actual effect on the 1st generation children of the main forum categories, so when we tried it with "$page['channelid'] != 1" the effect is it remove all formatting and also the thumbnail icons next to each of the 1st generation children of the main forum + it creates a duplicate of each and puts it right under each of itself
So among the so many things it does IT DID'T hide neither 1st generation children of the main forum nor the 1st generation children of the main forum "i.e the channels where user can post" and when we tried it with any other number for ['channelid'] ! , like lets say 2 or 3 or even 20 and 20 in particular is the node ID of one of the 1st generation children categories we intend to hide off of the home page NOTHING HAPPENS What did we miss pls ?? Also as we described earlier in this post we have X PARENT CATEGORIES under which we have X children CATEGORIES of the X PARENT CATEGORIES then finally X CHANNELS that are the children of the children of the parent categories so what are the node id we will use in "$page['channelid'] != "? those of the parent categories ? or the 1st generation children or the 2nd generation children ? is there a vb code that targets channels ACTING AS CATEGORIES AND ARE NOT CHILDREN OF ANOTHER ? ie root CATEGORIES ? cz more or less in the course of your brilliant suggestions we may have bumped into something that looks like that in display_Forums_list template when you helped us improving that vb template earlier --------------- Added [DATE]1514388394[/DATE] at [TIME]1514388394[/TIME] --------------- An interesting follow through on you post Quote:
if you move the comment two lines up , thus commenting as well the following : {vb:template display_Forums_item, forum={vb:raw forum}, forumLevel={vb:raw forumLevel}, isSubcategory={vb:raw isSubcategory}, avatar={vb:raw userThumbAvatars}} the result on home page is EXACTLY what we needed i.e only topmost parents are shown and any children of that are perfectly hidden on home page caves eat is : they are all the way hidden , meaning you cant navigate through clicking the main parents to to open the children in the next page !! so simply the children became hidden all the way ! |
#10
|
||||
|
||||
This is what I had ...
Code:
User: Pass: |
Thread Tools | |
Display Modes | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|