I need to have a forum hierarchy that corresponds exactly to my "subjects" vocabulary. I could make the "forums" vocabulary applicable to the rest of the content types instead of making a seperate "subjects" vocabulary, but I need to be able to assign content to multiple categories on my "subjects" which is not allowed by the forums vocabulary. I tried adding the "subjects" vocabulary to the forums to allow for multiple selects, but the "subjects" don't show up under forums when you browse them. Any idea how I can get around this?

Thanks in advance and let me know if an example will help.

Jadams1

Comments

jadams1-1’s picture

Can anyone give me some ideas?

Chris Gillis’s picture

I have exactly the same problem, If you find a way around it, please do advise.

see: http://drupal.org/node/74263

raspberryman’s picture

The 'forum' vocabulary, and the forum container/topic structure within it, are hard-coded in the forum module.

I also would like to use my own vocabularies for forum structure, alas the forum module is not designed to handle this level of customization. That's the way its always been and I think it works very well for most users. I am unaware of a method or module that gets around this.

From a developer point of view...

IMHO, forums are just a predefined vocabulary structure for a simple node type. That's it. Nothing fancy.

To me, the real value of forum.module is its theme functions, such as those that display a list of topics, topic as unread, etc. These theme functions are fairly straight forward and, with a few tweaks, could work with any node type and any vocabulary.

I just created my own theme functions which are 99% based on theme functions in forum.module, but I used my own simple page-like content type. This gives much of the same functionality and visual appeal of the forum.module, but without the strict predefined 'forum' vocabulary.

Just a quick overview of what I do to make my own custom forums...

For the page that lists the topics/forums, I recreated forum_page(), theme_forum_display(), and forum_get_topics() in my custom module. I replaced all the forum variable stuff in forum_page() and theme_forum_display(). I also had to tweak the big SQL statement in forum_get_topics() to remove the {forum} and the reference to it's tid. I also added my node's type to this SQL as well.

For the actual topic page, I recreated forum_view() and theme_forum_topic_navigation() in my module. I made small tweaks to forum_view() to call my own custom version of theme_forum_topic_navigation(), which is pretty much the same except I updated the SQL statement to include my module's type.

There are a few other changes, but this gives you an idea. Thankfully, for the most part you can just reuse the forum functions (unless they refer to the forum variables or the forum content type). Bottom line: steal theme code from forum.module, use your own custom node type, ignore predefined forum taxonomy.