The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
vBulletin Template Conditionals
Just a little something I got permission from Brandon here to post here on vB.org. I figured that it would come in handy to quite a few people especially those of us who code so much. I've had to refer back to this several times myself. I'll be adding more periodically but if you have any of your own, please feel free to add them to this thread. Thank you! Display Information To Members Only -------------------------- If you want to show a link only to registered members you would use this conditional. HTML Code:
<if condition="$show['member']"></if> -------------------------- The following conditional will display information only to guests and no one else. This is helpful in displaying a welcome message that you only wish for guests to see. HTML Code:
<if condition="$show['guest']"></if> -------------------------- If you want to show an advertisement to viewers that are unregistered, registered members and awaiting email confirmation you would use the usergroup ids 1,2,3 within the array. HTML Code:
<if condition="is_member_of($vbulletin->userinfo, 1, 2, 3)"></if> -------------------------- If this script is index (as used in the example below) then it will show the code within the conditional. You can use it to show a piece of code only on Forumhome if you have to put it in a template that is global such as the header. To find out what the script is per page open up the php file that loads the page like for instance showthread.php and look for. HTML Code:
define('THIS_SCRIPT', 'showthread'); HTML Code:
<if condition="THIS_SCRIPT == 'index'"></if> HTML Code:
<if condition="THIS_SCRIPT != 'index'"></if> -------------------------- What this conditional will do is only show certain information if the person viewing the page has the same userid as defined within the conditional. So if you put userid 667 inside the conditional below and put a link inside the conditional tags only the user that has the userid 667 will see that link. HTML Code:
<if condition="$bbuserinfo['userid'] == 667"></if> HTML Code:
<if condition="$bbuserinfo['userid'] != 667"></if> -------------------------- This conditional allows you to display information on a per forum basis. This can be helpful if you wish to display different advertisements depending on what forum that the user is in. You would simply replace X with the forum id that you wish the information to appear in. HTML Code:
<if condition="$forum[forumid] == X"></if> HTML Code:
<if condition="$forum[forumid] != X"></if> HTML Code:
<if condition="in_array($forum['forumid'], array(1,2,3,6))"></if> -------------------------- If the user is a member of the x usergroup then show the code. HTML Code:
<if condition="$post['usergroupid'] == 6"></if> HTML Code:
<if condition="$post['usergroupid'] != 6"></if> -------------------------- Just to show the power of vBulletin here is a cool conditional that will show information based on the birthday of the user. The one below will show "Too Young" if they were born after 01-01-1980. HTML Code:
<if condition="$bbuserinfo['birthday_search'] > '1980-01-01'">Too Young</if> HTML Code:
<if condition="$bbuserinfo['birthday_search'] < '1980-01-01'">Too Young</if> -------------------------- For instance if you want a piece of code to appear within thread in a particular forum you can do so with this conditional. HTML Code:
<if condition="$thread['forumid'] == X"></if> HTML Code:
<if condition="$thread['forumid'] != X"></if> HTML Code:
<if condition="in_array($thread['forumid'], array(1,2,3,6))"></if> -------------------------- If the user is a moderator execute code. HTML Code:
<if condition="can_moderate()"></if> -------------------------- If the user is a moderator of the current forum execute code. HTML Code:
<if condition="can_moderate($forum['forumid'])"></if> -------------------------- If the user is a moderator of x forum execute code. HTML Code:
<if condition="can_moderate($forum['x'])"></if> -------------------------- Is the user the thread creator? If so execute code. HTML Code:
<if condition="$threadinfo['postuserid'] == $bbuserinfo['userid']"></if> -------------------------- If the thread is closed execute code. HTML Code:
<if condition="!$show['closethread']"></if> -------------------------- Useful for adding a advertisement or other information after the first post on every page. HTML Code:
<if condition="!$GLOBALS['FIRSTPOSTID']"></if> -------------------------- This will add your code directly after the post number you define on each page. If you put 2 in place of x the code will appear on every page after the second post. HTML Code:
<if condition="$post['postcount'] % $vboptions['maxposts'] == x"></if> -------------------------- You can also use If Else conditionals within your templates. The below shows you how to correctly do this. HTML Code:
<if condition="$show['guest']"> Show Guest This Message <else /> Show Everyone but guests this message </if> |
#42
|
||||
|
||||
Quote:
In general to do this for arrays it would be: Code:
<if condition="in_array($forum[forumid], array(2, 3, 4, 5, 6 ))"> Code:
<if condition="!in_array($forum[forumid], array(2, 3, 4, 5, 6 ))"> |
#43
|
|||
|
|||
I'm trying to find the conditional to include "in every forum except (several forums). I wasn't sure what the "!=" meant but I thought that might be it so I tried this but it was a no-go.
Code:
<vb:if condition="!in_array($foruminfo[forumid], array(26, 46 )">MyScript</vb:if> I'm using vB4.... |
#44
|
||||
|
||||
Quote:
(Also, this is a vB3 article, although most of the conditions are valid, but in vB4 it does matter what template you use a variable in.) |
#45
|
|||
|
|||
I was using it in the same FORUM DISPLAY template that we changed that variable to fix. Sorry I posted in the vB3 article. I didn't realize it till after I had done it but then figured it was still my best chance because the post just before seemed to relate.
I tried posting in my other thread but it did that auto-merge again : ( (but I see you found it anyways...LOL.) |
#47
|
|||
|
|||
Yes, I apologize. I didn't realize it when I first typed my post... Then I left it.
Moving on... |
#48
|
|||
|
|||
I want to exclude the forums listed below. But when I use this conditional, I get an error. What am I doing wrong? I'm running 3.8.6 PL1
Code:
<if condition="$forum[forumid] != 1,2,3,4">google ad code here</if> I get the error: Code:
The following error occurred when attempting to evaluate this template: Parse error: syntax error, unexpected ',' in /home/xxxxxxxx/public_html/forum/includes/adminfunctions_template.php(3950) : eval()'d code on line 1 This is likely caused by a malformed conditional statement. It is highly recommended that you fix this error before continuing, but you may continue as-is if you wish. I'd also like to exclude certain usergroups from seeing ads. How do I accomplish both of these things? |
#49
|
||||
|
||||
What's wrong is your condition is wrong... it should look like this:
Code:
<if condition="!in_array($forum['forumid'], array(1,2,3,4))"></if> |
#50
|
|||
|
|||
Thanks! Is there a way to use two conditionals? I don't want ads showing up in certain forums, and there's on particular usergroup that I want to block ads from. Is this possible?
|
#51
|
||||
|
||||
Code:
<if condition="!in_array($forum['forumid'], array(1,2,3,4)) AND !is_member_of($vbulletin->userinfo, 5,6)"> |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|