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 |
#32
|
|||
|
|||
Sorry to tell you this...
There is an obscure bug when this hack is installed, a user forgets his password and he requests a new one. One ends up with a PHP parse error. The bug is as follows: VBulletin uses $a as a global variable in the reset password code (around line 174 of member.php). This messes up use of $a as the command argument in advanced_templates. Solution: use a variable in advanced_templates which does not have global scope. (e.g. replace $a by $basictemplate) |
#33
|
||||
|
||||
Quote:
Since you wisely noticed the bug and its cause, I'm sure you already fixed it in your board but if you didnt, you can get the updated file and correct the problem.. Thx for the feedback though.. |
#34
|
|||
|
|||
You're too quick for me, Logician - or rather I'm too slow and bleary eyed by this time of day
Have now clicked on install, so that you can duly tell me the next wonderful things you achieve |
#35
|
|||
|
|||
i am seeing
[[(6==6)]] Advanced Templates Hack has been successfully installed! By the way this remark is visible to Site Admins only.. Enjoy.. Logician \\=^)) [[/(6==6)]] in the index.php page. how do i get rid of the [[(6==6)]] and [[/(6==6)]] so i will only see the message? just checked and seeing [[(2==6)]] Advanced Templates Hack has been successfully installed! By the way this remark is visible to Site Admins only.. Enjoy.. Logician \\=^)) [[/(2==6)]] in the index.php page. how do i get rid of the [[(6==6)]] and [[/(6==6)]] anyone else having this problem? |
#36
|
||||
|
||||
Quote:
As for technical details: 1. You can do if/else constructs 2. The conditionals are parsed at the time you edit your templates since we now store two copies of every template. One with the conditionals asis, and one with any conditionals converted to accompanying php code so that there is no overhead when the templates are called by the forum. |
#37
|
||||
|
||||
Quote:
|
#38
|
||||
|
||||
Quote:
Quote:
Of course I'm sure you have a nice algorithm either.. |
#39
|
||||
|
||||
perhaps you've read that already, but if not:
http://www.vbulletin.com/forum/showt...3&pagenumber=2 |
#40
|
||||
|
||||
Quote:
It's just a "substr_count" that's saved (which I intend to add to my hack too) but IMO it does not effect running time so significiantly.. Or I still didnt get how it will work? lol |
#41
|
|||
|
|||
what is this like on server load? it seems to be pretty hard on my site. any ideas?
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|