Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 05-25-2009, 06:53 PM
Daryn Daryn is offline
 
Join Date: Nov 2008
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Reformatting profile fields

On our boards we have a lot of profile fields that use multiple check boxes. When vB displays these fields in the memberinfo page it does so as one giant comma seperated blob. What I'm wondering is if it's possible to get it to use line-breaks instead. For example currently the field is like this:

Field 1:
Item 1, Item 2, Item 3

I'd like it to be more like this:

Field1:
Item 1
Item 2
Item 3

Can anyone help with this? I spent hours yesterday digging through templates and not finding much.
Reply With Quote
  #2  
Old 05-25-2009, 07:30 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think you'd have to write a plugin to take the profile field and do a str_replace of the commas with a line break. You'll have to look through the code to figure out where to do this. (If you are in debug mode, the hook locations will show on the bottom of the page and then you can search the php files to find those hooks and see which one to use.)
Reply With Quote
  #3  
Old 05-25-2009, 10:19 PM
Daryn Daryn is offline
 
Join Date: Nov 2008
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That's a bit beyond my abilities to do. I'm no programmer so this is something I'd have to ask someone to do.
Reply With Quote
  #4  
Old 05-25-2009, 10:38 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Should be something simple like this (play with it if it isn't working right):

hook location: member_profileblock_profilefieldbit
PHP Code:
if ($profilefield['profilefieldid'] == xx)
{
$find ",";
$replace "<br />";

$profilefield['value']= str_replace($find$replace$profilefield['value']);

Replace xx with the field id.
Reply With Quote
  #5  
Old 05-25-2009, 10:57 PM
Daryn Daryn is offline
 
Join Date: Nov 2008
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That seems to work. Will it take multiple values?

EDIT: Hm, no, it doesn't seem to.
Reply With Quote
  #6  
Old 05-25-2009, 11:44 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It works just fine with the one field I have on my test site that I put commas into. If it isn't working with multiple field ids, then you should play with it and then post your code here so we can see it.
Reply With Quote
  #7  
Old 05-26-2009, 01:03 AM
Daryn Daryn is offline
 
Join Date: Nov 2008
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works just fine if it's one field. If I want to use more than one field though I don't know. I said before I'm no PHP programmer.
Reply With Quote
  #8  
Old 05-26-2009, 03:33 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can use and OR or use in_array.
PHP Code:
if ($profilefield['profilefieldid'] == xx OR $profilefield['profilefieldid'] == yy
or
PHP Code:
if (in_array($profilefield['profilefieldid'] , array(xx,yy))) 
Either of those should work.
Reply With Quote
  #9  
Old 05-26-2009, 04:01 AM
Daryn Daryn is offline
 
Join Date: Nov 2008
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'll give them a try in the morning. Thanks for all the help, it is appreciated.

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

Tried out the array statement. Works just fine and is easy to add to. I'm wondering though, is it possible to do this by profilefield type rather than ID?
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 01:42 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.03635 seconds
  • Memory Usage 2,237KB
  • Queries Executed 13 (?)
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
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (9)postbit_onlinestatus
  • (9)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