Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 4 Articles

Reply
 
Thread Tools
vB4 Template Conditionals List
BBR-APBT's Avatar
BBR-APBT
Join Date: Feb 2009
Posts: 946

 

Maryland
Show Printable Version Email this Page Subscription
BBR-APBT BBR-APBT is offline 12-28-2009, 10:00 PM

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>
Show Moderator of one forum: Remember to change x
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.
Reply With Quote
  #332  
Old 11-25-2012, 02:20 AM
Dax IX Dax IX is offline
 
Join Date: Jul 2005
Posts: 153
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm sorry, I thought it was pretty obvious. It's within the forum title link and the conditional I added is the only one in the statement, but here's my whole code for forumhome_forumbit_level2_nopost

PHP Code:
<li class="forumbit_nopost {vb:raw forum.statusicon} L2" id="cat{vb:raw forum.forumid}">
    <
div class="forumrow table"><div class="foruminfo td">
                    <
img src="{vb:stylevar imgdir_statusicon}/category_forum_{vb:raw forum.statusicon}.png" class="forumicon" id="forum_statusicon_{vb:raw forum.forumid}" alt="" />
        <
div class="forumdata">
<
div class="datacontainer">
            <
h2 class="forumtitle"><a href="{vb:link forum, {vb:raw forum}}" class="forumtitle"<vb:if condition="in_array($forum['forumid'], array(22,24))"target="_blank"</vb:if>>{vb:raw .title}</a></h2>
            <
vb:if condition="$show['forumdescription']"><class="forumdescription">{vb:raw forum.description}</p></vb:if>
            <
vb:if condition="!$show['collapsable_forums']"><a href="javascript://" class="collapsegadget"></a></vb:if>
            <
vb:if condition="$show['subforums']">
                {
vb:raw forum.subforums}
            </
vb:if>
        </
div>
</
div>
    </
div></div>
    <
vb:if condition="$childforumbits">
        <
ol id="c_cat{vb:raw forum.forumid}" class="childforum">
            {
vb:raw childforumbits}
        </
ol>
    </
vb:if>
</
li
Thanks!

--------------- Added 24 Nov 2012 at 23:09 ---------------

The conditional I added was this:

PHP Code:
<vb:if condition="in_array($forum['forumid'], array(22,24))"target="_blank"</vb:if> 
Reply With Quote
  #333  
Old 11-25-2012, 01:06 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not that it should make a difference but did you try putting spaces outside the conditional?

Code:
"forumtitle" <vb:if condition="in_array($forum['forumid'], array(22,24))"> target="_blank"</vb:if> >{vb:raw .title}</a></h2>
Reply With Quote
  #334  
Old 11-25-2012, 03:37 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This worked fine for me:

HTML Code:
<h2 class="forumtitle"><a href="{vb:link forum, {vb:raw forum}}" class="forumtitle" <vb:if condition="in_array($forum['forumid'], array('22','24'))"> target="_blank"</vb:if> >{vb:raw forum.title}</a></h2>
Reply With Quote
  #335  
Old 11-25-2012, 04:57 PM
Dax IX Dax IX is offline
 
Join Date: Jul 2005
Posts: 153
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you both.

I got it to work by posting the same code in forumhome_forumbit_level2_post

For some reason I was thinking it was using forumhome_forumbit_level2_nopost

Thanks again!
Reply With Quote
  #336  
Old 12-08-2012, 02:53 PM
Nirjonadda Nirjonadda is offline
 
Join Date: Dec 2011
Location: Italy
Posts: 739
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How to Usergroups able to view but can not use ?

Code:
<vb:if condition="is_member_of($bbuserinfo, 6,7,9,10,16)">
  code here
  </vb:if>
Reply With Quote
  #337  
Old 12-19-2012, 12:59 AM
Ary Braga Ary Braga is offline
 
Join Date: Jun 2009
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How do I get these two conditional work properly in a single task. I can not make it work.

Can someone help me?

PHP Code:
<vb:if condition="is_member_of($bbuserinfo, 5,6,7,42,43)">
                       <
vb:if condition="$post['currentactivity']">{vb:raw post.currentactivity}
    </
vb:if>
            </
vb:if> 
Reply With Quote
  #338  
Old 12-19-2012, 07:41 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You just use AND to join two conditions that both must be true.

Code:
<vb:if condition="is_member_of($bbuserinfo, 5,6,7,42,43) AND $post['currentactivity']">
{vb:raw post.currentactivity}
 </vb:if>
Reply With Quote
  #339  
Old 12-27-2012, 11:47 PM
AndrewSimm AndrewSimm is offline
 
Join Date: Sep 2006
Location: Atlanta, GA
Posts: 222
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
You just use AND to join two conditions that both must be true.

Code:
<vb:if condition="is_member_of($bbuserinfo, 5,6,7,42,43) AND $post['currentactivity']">
{vb:raw post.currentactivity}
 </vb:if>
I tried using this in a CMS widget and it would not work. Any ideas?
Reply With Quote
  #340  
Old 12-29-2012, 07:51 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Do you mean a widget template? Because template conditionals won't work in widget PHP code.

My guess is regardless, $post is a variable only available inside posts (the postbit template) and would not be available in any CMS template, so it would always return FALSE.
Reply With Quote
  #341  
Old 12-31-2012, 12:27 AM
AndrewSimm AndrewSimm is offline
 
Join Date: Sep 2006
Location: Atlanta, GA
Posts: 222
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
Do you mean a widget template? Because template conditionals won't work in widget PHP code.

My guess is regardless, $post is a variable only available inside posts (the postbit template) and would not be available in any CMS template, so it would always return FALSE.
I see, so there is no way I could hide a block ad that I insert into a widget?
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:19 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07926 seconds
  • Memory Usage 2,377KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (22)bbcode_code
  • (1)bbcode_html
  • (3)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (40)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete