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
  #242  
Old 06-24-2011, 08:51 PM
kether1 kether1 is offline
 
Join Date: Jun 2006
Posts: 232
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
Sorry man... VBA Dynamics is a commercial mod I just don't have access to so I don't know how it's designed or what fields may be available.

If there is a php hook available somewhere you could make a plugin with this code, it will print out all available fields for $entry and see if any of them match the userid.

Code:
echo "<pre>";
print_r ($entry);
echo "</pre>";
But don't do it while your forum is on (use a test forum if you have one) otherwise everyone will see the code output.
Thanks for your efforts! I am grateful!

Regards,
Kether

--------------- Added [DATE]1309015535[/DATE] at [TIME]1309015535[/TIME] ---------------

Just a follow-up update: I finally figured it out with your help, Joe. I went to the template and just started deleting bits and checking to see what was displayed. I found the bit that was causing the information to be displayed to everyone even though we told it to only display to the admin and user. After removing that code. It all worked!! Thanks again for your help. I appreciate it very much.

Kether
Reply With Quote
  #243  
Old 06-27-2011, 07:46 AM
induslady induslady is offline
 
Join Date: Jul 2006
Posts: 224
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

Am looking for a template conditional for Blog pages.

I tried this:

Quote:
<vb:if condition="THIS_SCRIPT == 'blog'">

but this works only for the blog home page.

I would want a template conditional that applies to all the blog pages.

Thanks.
Reply With Quote
  #244  
Old 06-30-2011, 08:10 AM
Marv Marv is offline
 
Join Date: Jun 2002
Location: Germany
Posts: 372
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
There's no condition specifically for 2nd posts but if you set your forum to a set number of posts per page you could make a condition like:

Code:
<vb:if condition="$post[postcount] == 2 OR $post[postcount] == 12  OR$post[postcount] == 22 OR $post[postcount] == 32 OR $post[postcount] == 42 OR $post[postcount] == 52 OR $post[postcount] == 62">
</vb:if>
...and so on... Assuming 10 posts per page- Yeah at some point the condition won't work anymore but how many threads really go X number of pages anyway. I assume you want it to show an ad so if it works in 95% of thread pages it should be good enough.
An approach I have tested out but collided with other ads around the last post on a thread, if the showthread page contains only two or three postings. To overwhelming and filled with ads.

I try to modify and create the ad-placements with a precheck, wether there are more then X posts on a showthread page or not. Dependencies:
  • if the visitor is a guest
  • if the ad placement is the X post on this showthread page as seen in the browser
  • if the page (not the whole thread) shows at least Y postings (to avoid that the whole page is looking like an adfarm)
PHP Code:
<vb:if condition="$show['guest']">
    <
vb:if condition="$post['postcount'] % $vboptions['maxposts'] == X"
        [
CONTENT HERE
      
    </
vb:if> 
</
vb:if> 
That?s how it looks like so far - but I can?t find anything that could help me with the last if statement. Does anyone has an idea how this could be done? Isn?t there something in vB that can be used for that? May be I?m just to blind but that damn thing ruined my whole day yesterday. I would be glad someone could lead a blind and help me out of this mess..

Any help appreciated.
Reply With Quote
  #245  
Old 06-30-2011, 09:11 AM
induslady induslady is offline
 
Join Date: Jul 2006
Posts: 224
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

Am looking for a template conditional:

In Showthread page - postbit, the username of the poster needs to be in red color if she belongs to a particular usergroup id - 34, I tried this

PHP Code:
<vb:if condition="is_member_of($post, 34)"
<
span style="color:red;"User name goes here</span>
</
vb:if> 
But it does not seem to be working and I did the above template conditional in memberaction_dropdown

Let me know the correct conditional that needs to go there.

BTW the conditional to check if the page is a blog page including the blog index use the below:

PHP Code:
<vb:if condition="in_array(THIS_SCRIPT, array('blog' , 'entry','blog_post', 'misc'))">
Code goes here
</vb:if> 
Thanks.
Reply With Quote
  #246  
Old 06-30-2011, 09:26 AM
Marv Marv is offline
 
Join Date: Jun 2002
Location: Germany
Posts: 372
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by induslady View Post
In Showthread page - postbit, the username of the poster needs to be in red color if she belongs to a particular usergroup id - 34
If I don?t get you wrong, that?s already a built-in feature. Check the settings of the usergroup 34 in the usergroup-settings, 3rd checkbox should be the one you are looking for.
Reply With Quote
  #247  
Old 06-30-2011, 12:29 PM
induslady induslady is offline
 
Join Date: Jul 2006
Posts: 224
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello Marv,

Thanks for the response. Guess you are talking about the "Username HTML markup".

But this user has the usergroup id - 34 as her secondary user group ( and not primary user group). Hence the HTML markup - color code set in the usergroup setting is not output in the postbit.

let me know how to obtain this.

Thanks in advance.
Reply With Quote
  #248  
Old 06-30-2011, 01:02 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think the condition is correct. Are you using post.musername or post.username? post.musername includes the group markup, which is probably overriding your color, so try post.username.
Reply With Quote
  #249  
Old 06-30-2011, 02:27 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by induslady View Post
Hello,

Am looking for a template conditional:

In Showthread page - postbit, the username of the poster needs to be in red color if she belongs to a particular usergroup id - 34, I tried this

PHP Code:
<vb:if condition="is_member_of($post, 34)"
<
span style="color:red;"User name goes here</span>
</
vb:if> 
But it does not seem to be working and I did the above template conditional in memberaction_dropdown

Let me know the correct conditional that needs to go there.

BTW the conditional to check if the page is a blog page including the blog index use the below:

PHP Code:
<vb:if condition="in_array(THIS_SCRIPT, array('blog' , 'entry','blog_post', 'misc'))">
Code goes here
</vb:if> 
Thanks.
I don't think $post can be used in memberaction_dropdown. I don't know what the alternative would be either- would probably need some custom plugins I think.

memberaction_dropdown is called from many different templates, not just the postbit.
Reply With Quote
  #250  
Old 06-30-2011, 02:59 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, good point Joe, I saw postbit and missed memberaction_dropdown. Sorry induslady.

ETA: Actually I think you might be able to substitute $memberinfo for $post. You still may have to use username instead of musername.
Reply With Quote
  #251  
Old 07-01-2011, 04:24 PM
baghdad4ever baghdad4ever is offline
 
Join Date: Apr 2007
Location: baghdad
Posts: 443
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How can I insert a banner in the first post of the every pages of the thread ?
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:18 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.07068 seconds
  • Memory Usage 2,374KB
  • 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
  • (20)bbcode_code
  • (5)bbcode_php
  • (5)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