The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Advanced Templates: Dynamic Templates Changing according to different conditions Details »» | |||||||||||||||||||||||||||
Advanced Templates: Dynamic Templates Changing according to different conditions
Developer Last Online: Nov 2023
This hack allows you to design dynamic vb templates which change themselves according to different conditions. Thus you can customize your board very powerfully with "intelligent/interactive" templates. It uses the same "conditional concept" just like my Webtemplates and Dynamic Forum Announcements Hack. With conditionals you can program your templates to:
The Hack's Features:
Vbulletin v.3 has been announced to have "conditional" concept in templates, however my hack wasn't inspired by it at all, because I'm using the conditionals in my Webtemplates hack since March 2002 so in fact vb developers might be inspired by me. My Dynamic Forum Announcements hack uses the same concept for forum home announcements too.. (Wait for my other hacks depending on conditionals cause I really like them, they are really powerful and customizable) Performance Issues The hack does NOT add any MYSQL connections. It just process your already retrieved templates in a function to parse the hack conditionals. Thus the performance is IMO quite bearable. However please notice that if a template has a conditional in it, the hack have to parse it before displaying it and technically this parsing is done with PHP's preg_match command which is known as a powerful but slow command. So does it cause any performance problems? In most cases no. But if the conditionals are applied in a very frequently used and/or long template and/or you used too many conditionals in one template AND your traffic or server load is high, this MAY increase your PHP processing time whenever this template is displayed as the hack has to deal with the conditionals everytime this template is called. I suggest applying Teck's Microstat's hack and observe the PHP running time with that hack after you applied a conditional especially in a frequently used template (eg. postbit). If it slows down the display, simply reduce your conditional count in that template or delete the conditional or remove the hack altogether. Personally I dont have any performance problems in my own board related to this hack but just wanted to give my 2 cents anyway especially for high-traffic boards.. If you liked the hack (I guess you will), I strongly suggest checking out my Webtemplates hack which provides exactly the same feature for your NON-VB pages. Also please click INSTALL if you use the hack, thank you.. 09.Sep.2002 Bug Fix: If you installed the hack before 09.Sep.2002 please download the instructions again and reapply step 2, since I made an update for a small bug fix. There was a variable name collision which causes a problem with email validation screen which uses the same variable so I changed my variable's name. If you are downloading the hack now, go ahead.. The code you download is already fixed.. 07.Oct.2002 UPDATE: I updated the hack code, so that people who have enabled template debugging in their Admin CP/vb Settings can also use the hack. Also small modification applied to increase template parsing time. If you installed the hack before my update, you may choose to reinstall (not necessary). If you are a new hack user, the instructions you download is already new version's. Enjoy! Logician \\=^)) Show Your Support
|
Comments |
#242
|
||||
|
||||
Quote:
PHP Code:
|
#243
|
|||
|
|||
Ok I've got a slight problem, I've got the hack installed perfectly and all is well. But what I wanted to use it for was to restrict access to a specific forum based on user-group, [ie, only supermods and above] only I can't do that via any template can I or am I not looking in the right place?
|
#244
|
||||
|
||||
why don't you do it with default usergroup/forum permissions?
|
#245
|
|||
|
|||
I've got an odd issue... (and hope to goodness someone didn't post it before). Conditionals work.. sometimes.
In header template, this does NOT work: [[($foruminfo[forumid]==44)]] Display this HTML code if forum id is 44 [[/($foruminfo[forumid]==44)]] -but this DOES: [[($bbuserinfo[userid]==1)]] Display this HTML code if page visitor's user id is 1 [[/($bbuserinfo[userid]==1)]] I know it used to work at the time. Since installing this hack, I've installed: Easy Archive Final Forum Quick Stats A 'Contact Us' form hack Subforums on Forumhome (no queries) by Xenon. The last one may be tripping this up, it's the only thing I can think of that may be conflicting. I'd reinstall this hack, but it *is* working, for some things. Any ideas? |
#246
|
||||
|
||||
Quote:
Your problem is: the header template is formed by vbulletin before "$foruminfo[forumid]" variable gets a value so when you use such a variable in your header, it will be always equal to 0, regardless of your location in board. That conditional will only work in forumdisplay templates as $foruminfo[forumid] variable will be assigned a value when these templates are parsed. It should also work if you use "$forumid" variable in your header because apparently it is assigned a value before header template is parsed but I didn't test it. |
#247
|
|||
|
|||
Logician, thank you very much for the reply. I *may* have been mistaken in regards to it working before (according to what you wrote), or at least the syntax of the code. I had a custom header hack installed along with yours which was broken by the subforums on forumhome hack (custom header hack was removed as it didn't work and I didn't think it was needed in addition to your hack). It is likely I used that to display the custom code.
I changed my coding to: [[($forumid==24)]] Show this only on forum 24 [[/($forumid==24)]] -and it worked fine in the header template. It's a great hack, and again, thank you for helping. |
#248
|
||||
|
||||
hello Logocian,i need some help...
see the link first https://vborg.vbsupport.ru/showthrea...602#post440602 how should i use this hack to do that? what code should i use and which template should i place it to?thankz... |
#249
|
|||
|
|||
Confused once again... sad really.
In the postbit, the signature: $post[signature] What I'd like to do is remove the signature for two users. One userID being 1669 and the other being 1472. I don't care if they see their own signature, but I do not want any other user on the board to see it, including admins, mods, etc. So for them, they'll think it's still there (just so they won't bug me), but for everyone else, it won't exist. I've tried this a bunch of ways, can't get it to work, and I know it's simple and as soon as someone posts it, I'll be smacking myself on the head. Any help would be appreciated, and I (again) hope this hasn't been asked before in this thread. I've read this entire thread before, but can't recall if it is in here. |
#250
|
||||
|
||||
[[(($post[userid]!=1669 AND $post[userid]!=1472) OR ($bbuserinfo[userid]!=1669 AND $bbuserinfo[userid]!=1472))]]
$post[signature] [[/(($post[userid]!=1669 AND $post[userid]!=1472) OR ($bbuserinfo[userid]!=1669 AND $bbuserinfo[userid]!=1472))]] Not tested but seems ok.. give it a shot.. |
#251
|
|||
|
|||
It didn't work I do appreciate the try though.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|