The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
vB4 Template Conditionals List
I put this together because it seems lots of people are having problems with the new syntax for conditionals. First off remember you can not use {vb:raw var} in template conditionals. Show only members: Code:
<vb:if condition="$show['member']">Show this to members only</vb:if> Show only guest: Code:
<vb:if condition="$show['guest']">Show this to guest only</vb:if> Show specific user groups : Code:
<vb:if condition="is_member_of($bbuserinfo, 1,2,3)">Show this to user group 1, 2, and 3</vb:if> Show one member: Code:
<vb:if condition="$bbuserinfo['userid'] == 318713">Show this only to the member with the user id of 318713</vb:if> Show every one but one member: Code:
<vb:if condition="$bbuserinfo['userid'] != 318713">Show this to every one but the member with the user id of 318713</vb:if> Show only moderators of any forum: Code:
<vb:if condition="can_moderate()">Show this to all moderators</vb:if> Code:
<vb:if condition="can_moderate($forum['x])">Show this if moderator is moderator of the forum with the id of x</vb:if> Show Moderator of current forum: Code:
<vb:if condition="can_moderate($forum['forumid'])">Show this to the moderator of the current forum</vb:if> Show in one forum: Remember to change x Code:
<vb:if condition="$forum[forumid] == x">Show this if forum id is x</vb:if> Show is every forum but one: Remember to change x Code:
<vb:if condition="$forum[forumid] != x">Show this if forum id is not x</vb:if> Show in several forums: Code:
<vb:if condition="in_array($forum['forumid'], array(1,2,3))">Show this to forum 1, 2 and 3</vb:if> Show in only one file: Look for define('THIS_SCRIPT', 'calendar'); in the top of the php file you want it to show in. Code:
<vb:if condition="THIS_SCRIPT == 'calendar'">Show this only on calendar.php</vb:if> Show in every file but one: Look for define('THIS_SCRIPT', 'calendar'); in the top of the php file you do not want it to show in. Code:
<vb:if condition="THIS_SCRIPT != 'calendar'">Show this only on calendar.php</vb:if> If $customvar is set: Code:
<vb:if condition="$customvar">Show this if $customvar is set</vb:if> If $customvar equals: Code:
<vb:if condition="$customvar == blah">Show this if $customvar equals blah</vb:if> If $customvar does not equal: Code:
<vb:if condition="$customvar != blah">Show this if $customvar does not equal blah</vb:if> vBulletin else statement: Code:
<vb:if condition="$show['guest']"> Show this to only guest. <vb:else /> Show this to all registered users </vb:if> vBulletin else if statement: Code:
<vb:if condition="$show['guest']"> Show this to only guest. <vb:elseif condition="is_member_of($bbuserinfo, 5,6)" /> Show this to user group 5 and 6 which is mods and admins <vb:else /> Show this to all registered users </vb:if> This is all that I can think of right now off the top of my head. Please feel free to add any I forgot and I will add them to this list and give you credit. |
#212
|
||||
|
||||
Quote:
Code:
<vb:if condition="$show['guest'] AND THIS_SCRIPT == 'index'"> ad </vb:if> |
#213
|
|||
|
|||
Quote:
thanks lynne but this will occur Warning: Invalid argument supplied for foreach() in [path]/includes/functions.php on line 3416 The following error occurred when attempting to evaluate this template: %1$s 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 |
#214
|
||||
|
||||
Change the = to == and try again.
|
#215
|
|||
|
|||
How can I create a condition based on "Social Groups" (no user groups)? I tried this but it didn't work:
Code:
<vb:if condition="($bbuserinfo['groupid'] <> 2) "> CONTENTS GO HERE </vb:if> |
#216
|
||||
|
||||
Where are you trying to use this conditional?
|
#217
|
|||
|
|||
I want to use it in the footer template.
My site uses a floating tool bar. For members that want to hide the tool bar all together, I want to allow them to add themselves to the social group, "Hide Tool Bar". I then want to use the conditional to hide the tool bar code if the user is a member of this social group. |
#218
|
||||
|
||||
Quote:
Luckily however vBulletin has a built in feature, publicly joinable usergroups that should work exactly as you describe. In your Usergroup manager in Admin CP, make a new usergroup based off of registered users. Set the option to make it a publicly joinable usergroup. Call it "Hidden Toolbar" or whatever. Members can join it via the User CP -> Group Memberships And then you can use the standard condition: Code:
<vb:if condition="is_member_of($bbuserinfo, X)"> OR... now that I've typed that out... The "right" way of doing this would be using a Custom Profile Field. In Admin CP make a New Custom Profile Field... Basically a "Yes/No" option to turn on/off the toolbar... Then you would use a condition like: Code:
<vb:if condition="$bbuserinfo['fieldX'] == 'Yes' "> I can give you more details on this if you think it will work for your needs. |
#219
|
|||
|
|||
I used the custom profile field solution. Thank you so much!!!!
|
#220
|
|||
|
|||
Is there a conditional to use if one would like to show something only to the member who posted the post?
For example: I created a custom field that I would like for the member to enter information into that s/he and the admin can see when posted, but no other members can see. (A secure field - if you will). Thanks, Kether |
#221
|
||||
|
||||
You could do a condition to show code only to the user who posted it...
Code:
<vb:if condition="$bbuserinfo['userid'] == $post['userid']"> But you'd still need to make the extra field to hold the data and everything else needed to process it. The conditional is the easy part. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|