Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-16-2010, 11:06 AM
JohnMcClane JohnMcClane is offline
 
Join Date: Jan 2010
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Profile Field Link

I'm planning on building a new feature for my forum which requires members to turn it on via a profile field in the usercp. Is there a way I can display a link elsewhere on my forum that members can click that will change the profile field?

For example-

"Click Here to Enable xxxxx" or "Click Here to Disable xxxxx"

Many thanks!

John
Reply With Quote
  #2  
Old 04-16-2010, 03:20 PM
NickyDee NickyDee is offline
 
Join Date: Aug 2008
Posts: 53
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by JohnMcClane View Post
I'm planning on building a new feature for my forum which requires members to turn it on via a profile field in the usercp. Is there a way I can display a link elsewhere on my forum that members can click that will change the profile field?

For example-

"Click Here to Enable xxxxx" or "Click Here to Disable xxxxx"

Many thanks!

John
You can use an if statement on the user profile field to display code.

It will depend on what you are trying to achieve and where exactly. Have a look at this:
http://www.vbulletin.com/forum/showt...-Profile-Field recent discussion about it.

Off the top of my head I suspect you want something like inserted into the forumhome or some such template

Code:
<vb:if condition="$post['fieldx'] == y"> HTML CODE YOU WANT TO EXECUTE </vb:if>
Where 'x' is the id number for user profile field and 'y' is what you want it to be equal to.

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

Not sure what level your coding is at so I apologise if this is stuff you already know, but remember with code conditions that;

== means "if equal to".

= means "set value"

!= means "if NOT equal to".
Reply With Quote
  #3  
Old 04-16-2010, 07:41 PM
JohnMcClane JohnMcClane is offline
 
Join Date: Jan 2010
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm not sure if we're on the same page. What I want basically, is a way for members to change their user profile field selection by clicking a link.

Say for example I have two banners on my forum, one saying "Enable feature" and one saying "Disable Feature"

Each banner would be linked to something like this for example;

www.site.com/forum/profile-field9=enabled

or

www.site.com/forum/profile-field9=disabled

I just basically want a quicker way for members to change their user profile field preferences rather than going to their usercp every time they wish to change.

Thanks
Reply With Quote
  #4  
Old 04-17-2010, 02:05 AM
NickyDee NickyDee is offline
 
Join Date: Aug 2008
Posts: 53
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ah okay John that makes sense, sorry for the confusion.

I'm not 100% sure on this as its not something I've ever tried to do myself. The problem that we have in achieving it is that updating a user profile field requires editing a database entry (which will need a PHP script), but the forum homepage isn't setup to do that. So you'd probably have to write pretty heavy custom-code to get this to work. But, there is a simpler compromise solution that might be a bit easier, off the top of my head;

Make a conditional statement that says if user profile field is null (empty), display an HTML link and message to your /forum/profile.php?do=editprofile.

You can go two steps further (depending on how big a deal this profile field is for your board), which is to make it compulsary to have a setting for it in the profile field manager. This way, when they visit /forum/profile.php?do=editprofile they will have to save a selection before they can leave.

The second step is to make the contents of the conditonal statement a redirect. So if the user hasn't completed that profile field, they are redirected to /forum/profile.php?do=editprofile where they must then complete it.

Of course if you just want to save users the trouble of going to settings --> edit profile you could cut out one step just by adding a link straight to /Forum/profile.php?do=editprofile

I should point out that I may not be the best person to offer advice on this topic as user profile fields aren't an area of vbulletin that I have particularly played with and there may well be limitations that I am not aware of or easier ways of achieving what you want. I'm interested to see if you find a way to get your idea working, because it could potentially have a lot of applications.
Reply With Quote
Reply


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 09:16 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.04727 seconds
  • Memory Usage 2,188KB
  • Queries Executed 11 (?)
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)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • 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