Skip to:
Content

Opened 22 months ago

Last modified 3 months ago

#1958 new enhancement

Hierarchical Forum and Category Layout theme

Reported by: jaredatch Owned by:
Milestone: 2.7 Priority: omg sweet tea
Severity: normal Version: 2.1
Component: Theme Compatability Keywords:
Cc: jared@…, stephen@…, mercijavier@…, navjotjsingh@…

Description

Topic for reference: http://bbpress.org/forums/topic/hierarchical-forum-and-category-layout/

As discussed, people often want some degree of hierarchy for their theme and right now it would require a completely custom theme. We should help them out.

I guess one thing to determine, which would give us a direction to go in, would be what degree of hierarchy should we look to provide?

One possible scenario would be what Lynq came up with in his custom theme: http://teamoverpowered.com/forums/

Thoughts?

Attachments (1)

loop-single-categories.php (2.4 KB) - added by tharsheblows 5 months ago.
Handles single categories in bbPress

Download all attachments as: .zip

Change History (22)

comment:1 jaredatch22 months ago

  • Cc jared@… added

comment:2 netweb22 months ago

  • Cc stephen@… added

Here's a quick summary of a chat I had with @jjj ~ 1 month ago...

... ideally, each subforum would have it's own freshness, topics, posts, etc...

... It will probably need to be a new function, specifically for this.

... WP_Query would need to include a 'depth' argument

... The loop in the template needs to check the post meta, bbp_is_forum_category() I think.

... If it is, loop through the parent (the category you just had) and output those forums

... The hard part of the logic will be knowing when to switch, based on where in the hierarchy we are, and if the current forum, is a forum or a category.

... And then knowing when to exit that loop and finish the container HTML.

... Because forums and categories can be mixed and matched, and the output will need to adapt to that.

comment:3 netweb22 months ago

The current train of thought has been to keep the option of a forum custom post type having either type 'forum' or 'category' assigned to each forum.

What about moving the 'category' option from the 'forum' post type to its own post type extending bbPress from the current three 'forum', 'topic' and 'reply' post types to four 'category', 'forum', 'topic' and 'reply' post types.

The current relationships are based on the database model 'hierarchical model' though introducing the 'category' post type to use one-to-many relationships with a 'network model'...

I may have now be over thinking this :)

http://en.wikipedia.org/wiki/Database_model#Hierarchical_model
http://en.wikipedia.org/wiki/Database_model#Network_model

eg. As an 'Apple' forum could be both software & hardware related you could have a single forum called 'Apple' but assign it to both the 'Software' and 'Hardware' categories. When setting up layout options for display on your site you can then have the 'Apple' forum displayed on both the 'Software' and 'Hardware' forum sections of your site.

Home / Forums / Software / Microsoft

Home / Forums / Software / Google

Home / Forums / Software / Apple

Home / Forums / Hardware / Google

Home / Forums / Hardware / Apple

Home / Forums / Hardware / Amazon


Further consider a standard WordPress site without bbPress installed and the author wrote a blog post about the recent release of the iPhone 5, this post could have both 'Software' and 'Hardware' categories added to the post as it would indeed make mention of iOS 6 and the physical iPhone 5 hardware device.

What side effects this would bring on performance or other headaches this may bring to bbPress is still at stage way beyond my skillset :P Just a thought I had on the weekend and now shared ;)

comment:4 johnjamesjacoby19 months ago

  • Milestone changed from Future Release to 2.4

Let's try and get this going for 2.4.

comment:5 johnjamesjacoby14 months ago

  • Milestone changed from 2.4 to 2.5

No time. Moving to 2.5.

comment:6 johnjamesjacoby11 months ago

  • Milestone changed from 2.5 to 2.6

2.5 is going to focus on performance improvements. Moving to 2.6.

comment:7 mercime10 months ago

  • Cc mercijavier@… added

comment:8 johnjamesjacoby8 months ago

  • Milestone changed from 2.6 to 2.7

Bump to 2.7.

comment:9 Mycelus5 months ago

  • Priority changed from normal to omg sweet tea

Please use IP Board's formatting, they have the best paid forum software by a LANDSLIDE, and this is what you should be referring to:


Hey guys. So I’m used to the regular forum format like phpBB and IP Board where it looks like this: http://imgur.com/XlyR6cc

So, where it says Welcome to IPS, that’s the category name.

Under that, you have News and Information, and Pre-Sales, those are your FORUMS.

Then you have a space underneath the categories as can be seen in the picture.

This makes sense because your CATEGORIES are SEPARATED from each other, and the FORUMS, are listed underneath.

The way bbPress it, you can click a category. This makes ZERO sense, there is NO reason to click on the category.

Also, as can also be seen in the picture, the amount of topics, and replies are to the right side, with the recent reply, time, latest thread, and time to the right.

comment:10 follow-up: tharsheblows5 months ago

Hi - do you mean something like this? http://thefastdiet.co.uk/forums/ If you do, I have that.

comment:11 in reply to: ↑ 10 johnjamesjacoby5 months ago

Replying to tharsheblows:

Hi - do you mean something like this? http://thefastdiet.co.uk/forums/ If you do, I have that.

Very similar, yes; where root level categories are able to divide the mark-up for each "section" of their children forums. In our case, we'd want the root level categories to be linked to that category, where as yours never link to them.

Because not all forums in the root are categories, there needs to be some logic that asks "hey, if you're a root level category, switch to a new forum index "section" and show the child forums similar to how the root is now; or, if you're a root level forum, create a separate section without a root category.

The logic to pull this off within the templates in a flexible manner is surprisingly complex, so any experience you have (including code examples and patches) is helpful.

comment:12 tharsheblows5 months ago

I'm not exactly sure I'm getting what you're saying, so please just tell me if I've gotten it wrong.

It's easy in my template to link "Fast Exercise" to the correct page (eg http://thefastdiet.co.uk/forums/forum/fast-exercise/) , I just haven't done it because it seemed redundant. But I think that might not be what you mean? I don't suppose you could draw it? With arrows maybe?

This is the bit in loop-forums (I got the pluralisation wrong on loop-categories! But that's just another template that does the categories):

<?php while ( bbp_forums() ) : bbp_the_forum(); ?>

<?php if( !bbp_is_forum_category() ) {

bbp_get_template_part( 'loop', 'single-forum' );

} else {

bbp_get_template_part( 'loop', 'single-categories' );

} ?>

<?php endwhile; ?>

Apols too for any trac etiquette / style mistakes. Am still somewhat new to it.

comment:13 johnjamesjacoby5 months ago

Are you able to share the contents of your loop-single-categories.php template?

tharsheblows5 months ago

Handles single categories in bbPress

comment:14 tharsheblows5 months ago

I was learning bbPress as I did that template, so there is much that needs to be cleaned up! I'm not sure it's the exact FD one, it's from an upcoming redesign but should be similar in the main.

comment:15 follow-up: Bob1nz5 months ago

Hi,
Iv been working on a wordpress website to be used as a community website for a small gaming server. The forums are intended to be the main focus and i have smooshed together bits and pieces from all over the internet to make it look like how it is now.
It is still a work in progress and I am by no means a wizard with php like all you guys are but if you need any files or anything I'm more than happy to share them.
The forum is on a testing website at http://www.bob1nz.com/forum/

comment:16 Mycelus5 months ago

Hey guys. Sorry for the late reply, I didnt get a notification for some reason.

@tharsheblows

Yes that is the type of template I want, with the category not being clickable. A category being clickable is unnecessary, as the forums for it display underneath.

Here's a simple text format:

Category (non-clickable)

  • Forum 1 Topics Posts Last Post
  • Forum 2
  • Forum 3

The threads in the forums would only be viewable upon clicking the forum.

Also it would be nice if we could rename the strings, so for example, I like "threads" better than "topics", and "Last Post" better than "Freshness"

What makes ANY software great, is customization. Options. Choice. Users always want more options, and since this software is for a website, customization is definitely key. Being able to edit the strings within the UI would be great for users, along with the breadcrumb separators and size, color, etc for example.

The bob1nz website showcases my template well, however, the categories should not be clickable (there could be a toggle for this). I never want a user to click a category and then have see only a portion of my forums. That is unnecessary and ruins the forum experience.

comment:17 johnjamesjacoby4 months ago

Yes that is the type of template I want, with the category not being clickable. A category being clickable is unnecessary, as the forums for it display underneath.

What's the point of categorizing them hierarchically if a visitor cannot drill down into the hierarchy?

Also it would be nice if we could rename the strings, so for example, I like "threads" better than "topics", and "Last Post" better than "Freshness"

You can change any of the strings in several ways:

  • A custom English po/mo setup
  • Custom templates in your theme
  • A custom theme with custom templates
  • Any combination of the above

What makes ANY software great, is customization. Options. Choice. Users always want more options,

Agree to disagree, respectfully. :)

Being able to edit the strings within the UI would be great for users, along with the breadcrumb separators and size, color, etc for example.

This isn't the WordPress way, and is unlikely to ever be a direction that bbPress goes. A plugin could go this route with relative ease though.

I never want a user to click a category and then have see only a portion of my forums. That is unnecessary and ruins the forum experience.

This is the default experience in vBulletin, phpBB, Vanilla, etc... Still not understanding the point of a hierarchy that cannot be traversed.

comment:18 in reply to: ↑ 15 johnjamesjacoby4 months ago

Replying to Bob1nz:

if you need any files or anything I'm more than happy to share them.

Neat. Share anything that you think is helpful; likely the way you loop through forums, and how you determine when to break between category sections and individual forums.

comment:19 Mycelus4 months ago

Please do share Bob1nz

I really need to get a proper forum formatting.

comment:20 Bob1nz4 months ago

OK so here is what I have

childtheme/bbpress/loop-forums.php http://pastebin.com/6W2AJhPm
childtheme/bbpress/loop-single-forum.php http://pastebin.com/ghd0hMvP
childtheme/bbpress/loop-single-reply.php http://pastebin.com/0zBAjmBi
childtheme/bbpress/loop-single-topic.php http://pastebin.com/TYR16XDB

The main loop-forums.php was taken from http://bbpress.org/forums/topic/forums-index-in-the-same-layout-as-other-bb-software so any credit due should go to kaliceos.

I have posted the other files as I have played with them in some way to get what i want.

It most likely needs tidying up as I said previously i just grabbed bits of code from hours of googling my intentions and beating it into place to make it work.

Last edited 4 months ago by Bob1nz (previous) (diff)

comment:21 navjotjsingh3 months ago

  • Cc navjotjsingh@… added
Note: See TracTickets for help on using tickets.