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. |
#142
|
|||
|
|||
Code:
<vb:if condition="$bbuserinfo[field7] == 'No'"> <vb:else /> <!-- Wy MyFav Album Start --> <vb:if condition="$post['field6']"><style="text-align:left"></dt> <img src="{vb:stylevar imgdir_misc}/myfavalbum/{vb:raw post.field6}.png" align="middle" alt="Members Fav Album" border="" /></vb:if> <!-- Wy MyFav Album End --> </vb:if> This doesn't seem to be working (it's in my postbit) Any ideas? |
#143
|
||||
|
||||
In your postbit, you would use $post, not $bbuserinfo. $bbuserinfo is for showing you your own information anyway.
|
#144
|
|||
|
|||
I'm attempting to create a tab with sublinks, with appropriate security.
I have the tab (Special access), with the drop down box (sublink 1, 2, 3) using this code: I had to create a plugin with this code: Code:
global $template_hook; $newTemplate = vB_Template::create('dropdown'); $template_hook['navtab_end'] .= $newTemplate->render(); Code:
<li class="popupmenu"> <a href="javascript://" class="popupctrl navtab" style="background:transparent url({vb:stylevar imgdir_misc}/arrow.png) no-repeat {vb:stylevar right} center; padding-right: 15px">Special Access</a> <ul class="popupbody popuphover"> <li><a style="text-indent: 0px; color:{vb:stylevar navbar_selected_popup_body_a_Color}" href="http://domain.com.com/">Sublink 1</a></li> <li><a style="color:{vb:stylevar navbar_selected_popup_body_a_Color}" href="sublink2.php">SubLink 2</a></li> <li><a style="color:{vb:stylevar navbar_selected_popup_body_a_Color}" href="sublink3.php">SubLink 3</a></li> </ul> </li> My question is how can I use a conditional where only those in the admin group can access it? |
#145
|
||||
|
||||
Quote:
|
#146
|
|||
|
|||
Subbed
|
#147
|
|||
|
|||
Quote:
i have in my plugin the following code: Code:
$rkc_getobject = $vbulletin->input->clean_gpc('r', 'rkc_object', TYPE_UINT); $rkc_variable1 = $vbulletin->db->query_first(" SELECT id, name, class_1, class_1_level FROM " . TABLE_PREFIX . "rkc_table AS rkc_table WHERE id = '" . $vbulletin->db->escape_string($rkc_getobject) . "' "); $rkc_variable1['name'] = htmlspecialchars($rkc_variable1['name']); $rkc_variable1['class_1'] = htmlspecialchars($rkc_variable1['class_1']); $rkc_variable1['class_1_level'] = htmlspecialchars($rkc_variable1['class_1_level']); Code:
<vb:if condition"($rkc_variable1['class_1']) == ClassType1"> selected code goes here </vb:if> Code:
{vb:raw rkc_variable1.class_1} |
#148
|
||||
|
||||
When displaying the output of a variable you use:
Code:
{vb:raw rkc_variable1.class_1} Code:
$rkc_variable1['class_1'] |
#149
|
|||
|
|||
I have tried many combinations using that, including what seems to be the most likely (for comparing a string to a string)
Code:
<vb:if condition"($rkc_variable1['class_1']='ClassType1')">Success <vb:else />Failure </vb:if> My goal is to use a <select> menu for set options when editing an object currently saved to the database. Example: Code:
Choose Class Type: <select name="set_class1" id="set_class1" value="{vb:raw rkc_variable.class_1}"> <option value="">Choose Class</option> <option value="ClassType1"<vb:if condition"($rkc_variable1['class_1']='ClassType1')"> selected="selected"</vb:if>>ClassType1</option> <option value="ClassType2"<vb:if condition"($rkc_variable1['class_1']='ClassType2')"> selected="selected"</vb:if>>ClassType2</option> </select> if it helps, i have the following code in the plugin to register it: Code:
$templater = vB_Template::Create('rkc_customtemplate'); $templater->register_page_templates(); $templater->register('navbar', $navbar); $templater->register('rkc_getobject', $rkc_getobject); $templater->register('rkc_variable1', $rkc_variable1); print_output($templater->render()); |
#150
|
||||
|
||||
You definitely need equal signs in the conditionals...
Code:
<select name="set_class1" id="set_class1" value="{vb:raw rkc_variable.class_1}"> <option value="">Choose Class</option> <option value="ClassType1"<vb:if condition="($rkc_variable1['class_1']='ClassType1')"> selected="selected"</vb:if>>ClassType1</option> <option value="ClassType2"<vb:if condition="($rkc_variable1['class_1']='ClassType2')"> selected="selected"</vb:if>>ClassType2</option> </select> |
#151
|
|||
|
|||
i apologize for the inaccurate entry in my code. the code in my template did have the "=". However, the same problem exists. if i put the conditional only on the ClassType2 option, then no matter what ClassType is actually in the database, ClassType2 will always be the selected option.
Example: say the options range from 1-5. If i put the conditional on 2, and then choose 4, 4 will be stored in the database, but when bringing up that object to edit, option 2 will be the default choice in the select menu. Clicking to edit the object should show all default data currently stored, so that if you choose to edit and then 'save' without making any changes, no changes will be made. in this scenario, option 4 is in the database, but if you choose edit and then save w/o physically making any changes, option 2 will replace option 4. Code:
<select type="text" name="set_class1" id="set_class1" value="{vb:raw rkc_variable1.class1}" class="primary"> <option value="">Choose Class1</option> <option value="Option1">Option1</option> <option value="Option2">Option2</option> <option value="Option3">Option3</option> <option value="Option4">Option4</option> <option value="Option5">Option5</option> <option value="Option6"<vb:if condition="($rkc_variable1['class1']='Option6')"> selected="selected"</vb:if>>Option6</option> <option value="Option7">Option7</option> <option value="Option8">Option8</option> </select> |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|