PDA

View Full Version : Individual Forum Introductions


DJ RRebel
01-22-2004, 05:06 PM
This is taken from my topics from vB.com, that I'm guessing I should have asked here (because nobody is answering them there ... lmao)

http://www.vbulletin.com/forum/showthread.php?t=52491

http://www.vbulletin.com/forum/showthread.php?t=92943


I'm sure there is a hack for what I want to do for vB2 ... but considering I want to start getting more involved with creating usable and helpful hacks now that vB3 Gold is approaching, I thought I might as well ask this as the table names have changed slightly between vB2 and vB3 AND I also want to see if I'm headed in the right direction or not AND try to learn something from this. :)


What I want to do is rather simple ... I want to add a forum introduction (a different one for each seperate forum). Mainly so I can display a set of rules for each particular forum if there are different rules for different forums. Similar to the forum[description] field, but with the posibility of being longer.

This is pretty much the ONLY thing I miss from my days using UBB, as vB is better in virtually every other way !!! :)

Something to keep in mind: I've never really tinkered with my database via "phpMyAdmin 2.4.0" (or anything else for that matter) ... but I'm starting to become familliar with the concepts of MySQL.


Anyhow, this i how I think it should be done (mostly just copied from my posts at vB.com)...



I guess I'll have to finally figure out how to add a 'introduction' field within the 'forum' table using "phpMyAdmin 2.4.0" ... lol

Would I be correct in assuming to use the following:

ALTER TABLE forum ADD forum_intro TEXT;

or should I use MEDIUMTEXT like the content are of posts (pagetext?) ?



I'm guessing my forum should also be turned off if I do this ???

Is there anything else I should know about (namely precautions) before altering a table?



Then would it just be a simple matter of adding the following into the FORUMDISPLAY template:


<if condition="$forum[forum_intro]">$forum[forum_intro]</if>



Seems to me there's a step I'm missing for setting $forum[forum_intro] to the value of my (new) 'forum_intro' column in the row for the current forum (represented by $forum). Or is all columns of the 'forum' table automatically set to the equivalent $forum[xxx] for all the current forums rows ???



Anyhow ... I hope that's all there is to it ... ... if not ... please write to me in big red letters; "You have absolutely no idea what you're doing and better not touch your database with a ten foot pole unless you want to lose all your data !!!" ... lol





More important than confirming if what i have above is correct or not, there are just a couple of things I'd also like to be sure of, as hopefully I'll be doing alot more hacks once vB3.Gold is released:


- Is there anything I need to know or do before manipulating my database ???

- I'm guessing my forum should also be turned off if I do stuff like this ???

- I'm also guessing doing a back-up would also be suggested ... lol ???

- Is there anything else I should know about (namely precautions) before altering a table ???

- Is there so actual on/off setting for the database itself (not the forum) ???


I think I pretty much understand the essentials ... and it's pretty straight forward ... but all it takes is missing one step and it could spell disaster ... just figured I'd pass it by you guys before doing anything ...



Thanks TONS to all who reply and help me getting started on my journey into 'hacking' (or tweeking as I like to call it ... lol)


Regards,
DJ RRebel
http://www.homeofmusic.com

Kentaurus
01-22-2004, 05:41 PM
This is taken from my topics from vB.com, that I'm guessing I should have asked here (because nobody is answering them there ... lmao)

http://www.vbulletin.com/forum/showthread.php?t=52491

http://www.vbulletin.com/forum/showthread.php?t=92943


I'm sure there is a hack for what I want to do for vB2 ... but considering I want to start getting more involved with creating usable and helpful hacks now that vB3 Gold is approaching, I thought I might as well ask this as the table names have changed slightly between vB2 and vB3 AND I also want to see if I'm headed in the right direction or not AND try to learn something from this. :)


What I want to do is rather simple ... I want to add a forum introduction (a different one for each seperate forum). Mainly so I can display a set of rules for each particular forum if there are different rules for different forums. Similar to the forum[description] field, but with the posibility of being longer.

This is pretty much the ONLY thing I miss from my days using UBB, as vB is better in virtually every other way !!! :)

Something to keep in mind: I've never really tinkered with my database via "phpMyAdmin 2.4.0" (or anything else for that matter) ... but I'm starting to become familliar with the concepts of MySQL.


Anyhow, this i how I think it should be done (mostly just copied from my posts at vB.com)...



I guess I'll have to finally figure out how to add a 'introduction' field within the 'forum' table using "phpMyAdmin 2.4.0" ... lol

Would I be correct in assuming to use the following:

ALTER TABLE forum ADD forum_intro TEXT;

or should I use MEDIUMTEXT like the content are of posts (pagetext?) ?



I'm guessing my forum should also be turned off if I do this ???

Is there anything else I should know about (namely precautions) before altering a table?



Then would it just be a simple matter of adding the following into the FORUMDISPLAY template:


<if condition="$forum[forum_intro]">$forum[forum_intro]</if>



Seems to me there's a step I'm missing for setting $forum[forum_intro] to the value of my (new) 'forum_intro' column in the row for the current forum (represented by $forum). Or is all columns of the 'forum' table automatically set to the equivalent $forum[xxx] for all the current forums rows ???



Anyhow ... I hope that's all there is to it ... ... if not ... please write to me in big red letters; "You have absolutely no idea what you're doing and better not touch your database with a ten foot pole unless you want to lose all your data !!!" ... lol





More important than confirming if what i have above is correct or not, there are just a couple of things I'd also like to be sure of, as hopefully I'll be doing alot more hacks once vB3.Gold is released:


- Is there anything I need to know or do before manipulating my database ???

- I'm guessing my forum should also be turned off if I do stuff like this ???

- I'm also guessing doing a back-up would also be suggested ... lol ???

- Is there anything else I should know about (namely precautions) before altering a table ???

- Is there so actual on/off setting for the database itself (not the forum) ???


I think I pretty much understand the essentials ... and it's pretty straight forward ... but all it takes is missing one step and it could spell disaster ... just figured I'd pass it by you guys before doing anything ...



Thanks TONS to all who reply and help me getting started on my journey into 'hacking' (or tweeking as I like to call it ... lol)


Regards,
DJ RRebel
http://www.homeofmusic.com
When you do a select query you can either:

SELECT x,y,z FROM TABLE OR
SELECT * FROM TABLE

If you do a "SELECT *" then you get all the columns in that table, and they can be used right away.

In your example since vbulletin doesn't do a SELECT * for that it won't work, you need to add ",intro_text" to the selected columns, in the includes/functions_forumlist.php you will find something like:

$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount';

change it to

$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount, intro_text';

then you have that column available



Touching a database isn't scary, just make a backup "just in case" and be careful with what you are doing. Common sense applies. If you are adding a column you might not harm existing data, if you delete a column then you might break something.

Also, for what you are trying to do no hack is necessary, it can be done all via conditional templates. A hack only would be more efficient especially if you have multiple forums.

DJ RRebel
01-22-2004, 09:34 PM
cool ... thanks ... that all made sence ...

As for my board ... it has over 20 forums ... so doing it by conditionals really wouldn't be efficient.

So ... just to be clear, aside from making back-up, there really isn't anything else I need to do ???

I would guess turning off the forum is only obvious thing to me ??? Is there anything else ??? Do i even have to turn it off ??? lol


Anyhow Kentaurus ... thanks for your reply ... it helped significantly !!! :)

DJ RRebel
01-28-2004, 10:43 AM
OK ... finally figured this out. Wanted to share it with you all to show my support for all the great work you're all doing here !!! :)

Keep in mind that I'm using vB3 RC#3.

I also want to thank Kentaurus for his help above, without which I would never have gotten started in the right direction! :)

I'm not sure if this really qualifies as a 'Hack', so I'm simply going to place the instructions on how I did this ... feel free to move it to the appropriate location if it isn't here ... lol ... or if you need me to start a new post, just let me know where and I'll do it next time I'm here !!!





Intructions on how to add unique 'Introduction' for each seperate forum:



1 - Close your forum (in vB Options):
______________________________

From the standard admin control panel (admincp), close your forum.


SET Forum Active: NO



2 - Back-up your database:
_______________________

I'm new to this, so you DEFINATELY want to back up your database PRIOR to making ANY modifications I mention.

BACK-UP YOUR DATABASE



3- Add 'x_forumintro' field to your database's table called 'forum':
__________________________________________________ ___


If you're not sure about this, then I wouldn't recommend you doing this hack/modification.

The SQL command (query) to use is:


ALTER TABLE `forum` ADD `x_forumintro` TEXT NOT NULL ;





4 - Make changes to /includes/functions_forumlist.php
_____________________________________________


First, save your old version of this page as 'functions_forumlist.php.old' (JUST IN CASE)

ADD the new field name to the list of variables (I'm using 'x_forumintro')


ORIGINAL:
========


$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount';


REPLACE WITH:
=============


$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount, x_forumintro';




5 - Make changes to /admincp/forum.php:
_________________________________


First, save your old version of this page as 'forum.php.old' (JUST IN CASE)

Note that only the two middle lines are added. I added the rest so you know where to put it.


ORIGINAL:
========

print_textarea_row($vbphrase['description'], 'forum[description]', $forum['description']);
print_input_row($vbphrase['forum_link'], 'forum[link]', $forum['link']);



REPLACE WITH:
=============

print_textarea_row($vbphrase['description'], 'forum[description]', $forum['description']);
print_textarea_row('Forum Introduction', 'forum[x_forumintro]', $forum['x_forumintro']);
print_input_row($vbphrase['forum_link'], 'forum[link]', $forum['link']);






6 - In 'Forum Display' template:
______________________________

Insert to location you want intro to be placed (tip: use a table for formating):

ADD:
====

$foruminfo[x_forumintro]

DJ RRebel
01-28-2004, 10:46 AM
oh yeah ... feel free to check out my forum to check it out in action !!! :)

site: http://www.homeofmusic.com (then simply click on any of the 'Forum' links)

MindTrix
01-28-2004, 01:18 PM
Nice work mate but no-one will look here for it :)

Go to the vB3 section on the board and click on Full Releases, sub catagory one. Then find the section which your hack applys too, and create a new thread in there.

Note you will need to put all of your instructions inside a text file and attach it too the post.

This way it will show up as a hack that you have released, and this way alot more people will see it. Goodluck.

EricR
03-28-2004, 04:11 PM
Actually I found it here :D only after a global search for "forum introductions". I too missed the forum intro section from UBB and the conditionals approach (or even child styles approach) was going to be a pain with many forums. This approach just makes sense. So THANK YOU DJ RRebel for figuring this out :) Even though I did find this here, the first place I looked was in the Forum Display mods section so I would also ask that you release this as a hack. Anyway, many thanks DJ!

White Knight
04-15-2004, 01:43 PM
After 2 weeks of trying to find something like this.. I found this post! Thank you!!!!!!!!!!!!!!!!!!!!!

White Knight
04-15-2004, 02:39 PM
GREAT WORK! Works perfectly and I cant thank you enough for spending the time letting us know how simple of a install this is. Thanks again!

BigJohnson
04-16-2004, 06:34 PM
This hack is great but how do i go about using conditions for it only to show when there is a intro enter?

I need this because i have tables that such.

BigJohnson
04-17-2004, 11:46 AM
So anyone hehe? post above i had a question.