The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
alternate threadbit template based on forumid
Hello,all
If anyone could help me with a small plugin I'm working on it would be greatly appreciated. What I'm trying to accomplish is this: I would like to call an alternate threadbit template based on the forumid of the forum. I've been able to make this work for both the forumdisplay template using this code: Code:
if ($foruminfo[forumid] == 7) { eval('print_output("' . fetch_template('FORUMDISPLAY2') . '");'); } Code:
if ($foruminfo[forumid] == 7) { eval('print_output("' . fetch_template('SHOWTHREAD2') . '");'); } So far I've figured out that when $threadbits is called in the forumdisplay template there's a little more going on because of the looping of the bits, but what I'm working with so far it isn't working. I've tried the hook locations of forumdisplay_start, forumdisplay_complete, threadbits_process, and threadbits_display. Only threadbits_display successfully switched the template but it only works for one iteration of the loop and then it revert back to the threadbits template and does something funky and does a duplicate display ...and only one. Here is my plugin...Can anyone help out with this? Code:
if ($foruminfo[forumid] == 7) { eval('$threadbits = "' . fetch_template('threadbit2') . '";'); } I'm assuming I either have the hook location wrong when $threadbits is getting eval'ed I know calling the variable for threadbits and evaluating the template is not really the same thing but I'm pretty sure the logic is in the right ball park. or maybe I just don't have a clue.... I just want the $threadbits when its called to use my alternate threadbits2 template instead of the default threadbits template This is my first attempt at this, and I'm stumped. TIA |
#2
|
|||
|
|||
What is the reason you want to use different templates for some forums? Would it not be easier to set a specific style, with the modified templates, for this forum?
|
#3
|
|||
|
|||
Thanks for the reply. It's funny you mention that... I also thought about assigning a child style for the particular forum. Then I re-evaluated what I was actually trying to do and went the plugin direction.
There were two major things that brought about my decision. 1. The potential problems associated with updating and modifying the style while keeping the parent/child compatible. (now and in the future...especially when I forget what the heck I did and where I did it) I would hate to accidentally revert or overwrite all of my changes away due to one night of being sleepy. ( I'm sure we've all done that!) 2. I thought about it from performance perspective also...now I may be wrong here and I will gladly defer to the experts, but why parse an entire new style (even if it is a child), and cache those templates, when all I'm really trying to do is set a 3 maybe 4 line conditional? When I successfully tried it for forumdisplay and for showthread...I was pretty sure the plugin was the most efficient way. And like I mentioned before the above code using the hook threadbit_display almost works. Am I mistaken in my assumptions? |
#4
|
|||
|
|||
A new style is nothing more then an empty placeholder. It will always inherit the template data from the level above (even with no parent set, you will be using the hidden default style for the template data).
Only templates that are modified in the current style are stored with the style. When a page is requested the styles are merged into the style that will be used for the current page, this does not have much overhead. As long as you remember to do all your changes to 1 upper level style and only make changes to the templates that need to be different in teh child style(s) for your forums that should have a specific template. You can set a forum to use an admin set style, regardless of the users choice. I would suggest to use this method as it is just using the default options offered by vBulletin, so it should always work without any (code) changes if you would upgrade vBulletin. By going the plugin route, you are creating extra code (overhead) that might break in a future version of vBulletin. |
#5
|
|||
|
|||
Thank you for your help...I defer to the experts and will give the style a try.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|