vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=242)
-   -   vB4 Template Conditionals List (https://vborg.vbsupport.ru/showthread.php?t=231525)

smooth-c 01-18-2011 11:54 AM

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>

I have a user profile field - No or Yes.

This doesn't seem to be working (it's in my postbit)

Any ideas? :)

Digital Jedi 01-18-2011 03:52 PM

In your postbit, you would use $post, not $bbuserinfo. $bbuserinfo is for showing you your own information anyway.

Edrondol 01-19-2011 06:07 PM

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();

and a new template:

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?

Digital Jedi 01-20-2011 03:12 AM

Quote:

Originally Posted by Edrondol (Post 2151578)
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();

and a new template:

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?

Just use the conditional for usergroups as shown in the first post and wrap it around the code you want that group to have access to in your template.

Dan2k3k4 01-20-2011 06:24 AM

Subbed

wpeloquin 02-01-2011 09:12 PM

Quote:

Originally Posted by TalkVirginia (Post 2010429)
I don't know if anyone has answered this or if you have already figured it out but you would need to handle this logic in your php code then render the variable accordingly.

how would one do this?

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']);

And i want to display a conditional to accoplish something like the following:
Code:

<vb:if condition"($rkc_variable1['class_1']) == ClassType1">
    selected code goes here
</vb:if>

now, i know i can use
Code:

{vb:raw rkc_variable1.class_1}
to post the contents in a template, but if i cannot use {vb:raw} in a conditional, how would this goal be accomplished?

BirdOPrey5 02-01-2011 09:25 PM

When displaying the output of a variable you use:
Code:

{vb:raw rkc_variable1.class_1}
When testing in a condition you use:
Code:

$rkc_variable1['class_1']

wpeloquin 02-01-2011 09:51 PM

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>
Now, if i change it to ='' then it will return "Failure", but if anything at all is there, then it returns "Success".

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>

Every combination of conditional i have tried just returns the bottom value that has the conditional in it, in this example ClassType2 would show even if the set value in the database was ClassType1. My guess is its just a syntax issue on getting the conditional phrased just right.

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());


BirdOPrey5 02-01-2011 10:15 PM

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>

If that gives you an error try it without the single quotes around 'class_1' - sometimes they don't work right in templates.

wpeloquin 02-02-2011 06:45 PM

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>

this code will always default the <select> to Class6, regardless of what the actual data in the table is. This is the problem i am having.


All times are GMT. The time now is 06:10 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.01735 seconds
  • Memory Usage 1,765KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (15)bbcode_code_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete