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. |
#72
|
|||
|
|||
is there a way to get this to work in a CMS article? or maybe with bbcode?
|
#73
|
||||
|
||||
Can we set conditional to ONLY show if user has filled in Profile Field ? Otherwise it is blank
|
#74
|
|||
|
|||
I've been working with some of the code provided here to show Adsense ads to non members only.
I found that using <vb:if condition... gave an error when trying to save the code. Missing if statment relative to the </vb:if> The following worked Code:
<if condition="in_array($bbuserinfo['usergroupid'], array(1,3,4,8))"> Adsense code here </if> |
#75
|
|||
|
|||
Wow thanks for this greatly appreciated; I have dedicated this entire day to me to fix up all the little things on my site such as all of the template edits, permissions and most importantly all of the conditionals and so this thread and the time taken to create it is greatly appreciated.
|
#76
|
|||
|
|||
Quote:
What did work was: Code:
<if condition="!in_array($GLOBALS[forumid], array(1,2,3))">Show this to forum 1, 2 and 3</vb:if> |
#77
|
|||
|
|||
Can someone tell me if this is right to put in our footer to not have something show on the CMS and to not show it to guests:
Code:
<vb:if condition="THIS_SCRIPT != 'CMS'"><vb:if condition="is_member_of($bbuserinfo, 1,2,3)">Code here!</vb:if></vb:if> |
#78
|
|||
|
|||
The correct this_script for CMS is
HTML Code:
<vb:if condition="THIS_SCRIPT == 'vbcms'"></vb:if> |
#79
|
|||
|
|||
****UPDATE***
Ok, finally figured it out, had to pass in usergroups in the $show variable from the plugin. So in the plugin: $show[gm_ugs] = explode(',', trim($vbulletin->options['gm_user_groups_allowed'])); and in the template, the condition is: <vb:if condition="is_member_of($bbuserinfo, $show[gm_ugs])"> I'm sure that's obvious to most of you, but... just incase someone else has the same question, hopefully that helps. -------------------------- How do you check multiple usergroups in a template? Such as: <vb:if condition="is_member_of($bbuserinfo, $usergroups)"> where $usergroups = "6,15,10" Specifically: <vb:if condition="is_member_of($bbuserinfo, array($vboptions['gm_user_groups_allowed']))"> Is what I am trying, but it only seems to work if $vboptions['gm_user_groups_allowed'] is not an array and is a single value. |
#80
|
||||
|
||||
Quote:
I have profile field 8 with radio single selection as the type. It's set with options of yes and no. It seems to be working. Code:
<vb:if condition="in_array($bbuserinfo['field8'], array(yes))"> Script or code here </vb:if> |
#81
|
|||
|
|||
Quote:
Code:
<vb:if condition="$bbuserinfo[field8] == 'yes'"> Script or code here </vb:if> |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|