vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   On/off or yes/no conditional help, please. (https://vborg.vbsupport.ru/showthread.php?t=193076)

Guest210212002 10-08-2008 04:35 PM

On/off or yes/no conditional help, please.
 
I'm trying to set a simple conditional to allow my members to enable/disable a sidebar based on usergroup permissions.

I have a CPF (field18), Single-Selection Radio Buttons, with the options being "Yes" and "No".

In the user's profile options page, is an option: "Display the sidebar? (o) Yes ( ) No".

If the YES button is checked, I want a conditional to display the respective code. From what I can tell by hunting around vb.com, this should work:

<if condition="$post[field18] == 'Yes'">

But it doesn't. :\

What would the proper yes/no (or on/off) conditional syntax be?

Thanks!

Lynne 10-08-2008 04:44 PM

What template are you using that condition in? I think that particular one - $post[field18] - is only available on the showthread page (and, I think it has to do with the poster, not the viewer, and you want the viewer, yes?). Have you tried $vbulletin->userinfo[field18] ?

Guest210212002 10-08-2008 04:46 PM

That first part would certainly explain a lot, this is driving me nuts.

So what you're saying is:

<if condition="$userinfo[field18] == 'Yes'">

Correct?

/me goes off to try that

noppid 10-08-2008 04:47 PM

The values are returned as 1 and 2, it's a number that is returned, not the text.
HTML Code:

</fieldset><fieldset class="fieldset">
        <legend>test</legend>
        <table cellpadding="0" cellspacing="3" border="0" width="100%">
        <tr>
                <td>test</td>
        </tr>
        <tr>

        <td>
                <table cellpadding="2" cellspacing="0" border="0">
                <tr><td valign="top"><label for="rb_cpf_field10_1"><input type="radio" name="userfield[field10]" value="1" id="rb_cpf_field10_1" checked="checked" />yes</label></td></tr><tr><td valign="top"><label for="rb_cpf_field10_2"><input type="radio" name="userfield[field10]" value="2" id="rb_cpf_field10_2"  />no</label></td></tr>
                </table>
                <input type="hidden" name="userfield[field10_set]" value="1" />
        </td>
        </tr>
       

</table>
</fieldset>

look at the source output on edit profile. ;)

Guest210212002 10-08-2008 04:48 PM

This is what I tried, which didn't do it. I'm doing it on Forumhome:

Code:

<if condition="THIS_SCRIPT == 'index'">
<if condition="$userinfo[field18] == 'Yes'">


Lynne 10-08-2008 04:48 PM

Quote:

Originally Posted by Chris-777 (Post 1640434)
That first part would certainly explain a lot, this is driving me nuts.

So what you're saying is:

<if condition="$userinfo[field18] == 'Yes'>

Correct?

[high]* Chris-777 goes off to try that[/high]

In my navbar template, I actually use:
HTML Code:

<if condition="$vbulletin->userinfo[field13] <> 'Yes'">
stuff for when it isn't set to Yes
</if>


Guest210212002 10-08-2008 04:49 PM

Quote:

Originally Posted by noppid (Post 1640436)
The values are returned as 1 and 2, it's a number that is returned, not the text.

Also doesn't work:

Code:

<if condition="THIS_SCRIPT == 'index'">
<if condition="$userinfo[field18] == '1'">

The first part is correct (eg: that alone displays my code), so I think Lynne's on target with the thinking that I need a global conditional, or at least one that works on the index.

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

Quote:

Originally Posted by Lynne (Post 1640438)
In my navbar template, I actually use:
HTML Code:

<if condition="$vbulletin->userinfo[field13] <> 'Yes'">
stuff for when it isn't set to Yes
</if>


If there was a way I could fedex you a cake right now, I would. You are absolutely AWESOME Lynne, that works - thank you VERY much as usual! :D

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

While I'm at it (though I should probably start a new thread) - how would I go about setting usergroup permissions on my shiny new on/off CPF? :D The idea here is that contributers can turn something on/off, whilst regular registered users cannot.

noppid 10-08-2008 04:57 PM

You need a hook after the userinfo is sorted out, yes.

Ok, it's passed from the form as 1 and 2 and stored for comparison in the field as the text, so go with that when comparing.

Secondly. until you go to the profile page and click yes, the field will be blank. eg, the comparison will always fail.

Lynne 10-08-2008 05:02 PM

Quote:

Originally Posted by Chris-777 (Post 1640439)
If there was a way I could fedex you a cake right now, I would. You are absolutely AWESOME Lynne, that works - thank you VERY much as usual! :D

Cheesecakes are a particular favorite of mine - no fruit on top, please. Just saying.... :D
Quote:

Originally Posted by Chris-777 (Post 1640439)
While I'm at it (though I should probably start a new thread) - how would I go about setting usergroup permissions on my shiny new on/off CPF? :D The idea here is that contributers can turn something on/off, whilst regular registered users cannot.

As far as I know, you cannot put permissions on the option in the UserCP. But, what you may be able to do is in the 'text' for the setting, say it's a premium feature. That way, they can set it to whatever they want, but it shouldn't have an effect if you set a conditional with it like:

HTML Code:

<if condition="$vbulletin->userinfo[field18] == 'Yes' AND is_member_of($bbuserinfo,5,6)">
stuff for users who said Yes in field 18 and are members of usergroup 5 or 6
</if>

(I use that condition in the same template.... makes me wonder if you can use $bbuerinfo instead of $vbulletin->userinfo... I'll have to try that later.)

noppid 10-08-2008 05:03 PM

Quote:

Originally Posted by Lynne (Post 1640459)
(I use that condition in the same template.... makes me wonder if you can use $bbuerinfo instead of $vbulletin->userinfo... I'll have to try that later.)

That'll work. Good going. :)


All times are GMT. The time now is 02:42 PM.

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.01045 seconds
  • Memory Usage 1,757KB
  • 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
  • (2)bbcode_code_printable
  • (4)bbcode_html_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (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