Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 10-10-2014, 12:32 AM
tbworld tbworld is offline
 
Join Date: Oct 2008
Posts: 2,126
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here is some conditional usage that you may want to ponder. Of course all of this can and maybe should be done in PHP, but sometimes this is more fun. I discovered quite a few interesting things when enhancing the template system.

One of the things I modified in the template system is a 'break' for the 'each' conditional. I am pointing this out, because in the crazy example below the routine continues to iterate the array and we may have already found our resultant.

Code:
<vb:comment>
 Iterates an array for basically no reason, and if a value was found in the array
 the create a new variable inside the template for altering a dynamic response. (tbworld method)
</vb:comment>

<vb:each from="show" key="show_key" value="show_value">
    <vb:comment>
      <!-- Just to show usage -->
      key:   {vb:var show_key}  <br>
      value: {vb:var show_value}<br>
    </vb:comment>

    <!-- Check for existance of key in $show -->
    <vb:if condition="array_key_exists('member', $show)  AND  (!isset($newvar))">
        <div>Array Key Exists!</div>

        <!-- create or set a value to a variable --> 
        <vb:if condition="$newvar='Yes we created a new variable $newvar!'"></vb:if>
    </vb:if>  
</vb:each>

<!-- Display the new variable we just created -->
<dl>
   <dd>Did we create a new variable?</dd>
   <dt>{vb:raw newvar}</dt>
</dl>

<!-- --------------------------------------------------------------- -->

<!-- Key exists if not NULL -->
<vb:if condition="isset($show['member'])">--isset test --<br /></vb:if>  

<!-- Expansion on the above examples, Use with caution! -->

<!-- Create a new Array -->
<vb:if condition="$new_array = array('member', 'fruit', 'fish')" ></vb:if>

<!-- Create a new Key field variable  -->
<vb:if condition="$new_test_key='member'"></vb:if>

<!-- Create a variable resultant --> 
<vb:if condition="$resultant=in_array($new_array[$new_test_key], $show, false)" >Test Key exist in $show array<br /></vb:if>
Have fun.
Reply With Quote
Reply

Thread Tools
Display Modes

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 07:37 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03080 seconds
  • Memory Usage 2,198KB
  • Queries Executed 12 (?)
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
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • 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_threaded
  • showthread_threaded_construct_link
  • 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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete