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 03-21-2010, 02:46 AM
LuisMontemayor LuisMontemayor is offline
 
Join Date: Oct 2009
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default how to use custom field at the member area

Hi, Im doing the new layout of my site and I want to show some custom fields ($post['field5']) in the member area, I used these for the thread area (postbit_legacy):

PHP Code:
<vb:if condition="$post['field5']"><h1>{vb:raw post.field5}</h1></vb:if> <!--Country-->
<
vb:if condition="$post['field2']"><p>{vb:raw post.field2}</p></vb:if> <!--City-->
<
vb:if condition="$post['field7']"><h1>{vb:raw post.field7}</h1></vb:if> <!--Main Software--> 
but it won't work inside MEMBERINFO, is there a way for me to checkout what I should use for each template? or will I need to make a plugin just for this? Thanks in advance.

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

Solved, hope this will help to anyone.

I made a plugin with this info (inside the member_start hook):

PHP Code:
$otheruid $vbulletin->GPC['userid'];

$customfields $db->query_first_slave("SELECT field1 as minibio, field2 as city, field3 as interest, field4 as occupation, field5 as country, field6 as realname, field7 as mainsoftware, field8 as othersoftware  FROM vbforum.userfield where userid = $otheruid");

  
$real_name $customfields['realname'];
  
$occupation $customfields['occupation'];
  
$mini_bio $customfields['minibio'];
  
$mainsoftware $customfields['mainsoftware'];

  

$df_member = array(
        
'real_name' => $real_name,
        
'occupation' => $occupation,
        
'mini_bio' => $mini_bio,
        
'mainsoftware' => $mainsoftware,
    );


vB_Template::preRegister('MEMBERINFO',array('df_member' => $df_member)); 
and in the template MEMBERINFO I added this:

PHP Code:
<h1>{vb:raw df_member.real_name}</h1>
<
h4>{vb:raw df_member.occupation}</h4>
<
h4>{vb:raw df_member.mini_bio}</h4>
<
h4>{vb:raw df_member.mainsoftware}</h4
--------------- Added [DATE]1269200282[/DATE] at [TIME]1269200282[/TIME] ---------------

I optimized the code to this:

PHP Code:
$otheruid $vbulletin->GPC['userid'];
$df_member $db->query_first_slave("SELECT field1 as mini_bio, field2 as city, field3 as interest, field4 as occupation, field5 as country, field6 as real_name, field7 as mainsoftware, field8 as othersoftware  FROM vbforum.userfield where userid = $otheruid");
vB_Template::preRegister('MEMBERINFO',array('df_member' => $df_member)); 
Reply With Quote
  #2  
Old 03-22-2010, 07:13 PM
LuisMontemayor LuisMontemayor is offline
 
Join Date: Oct 2009
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I updated the code for multiple selection custom fields, hope you can understands it.

PHP Code:
$otheruid $vbulletin->GPC['userid'];
$df_member $db->query_first_slave("SELECT field1 as mini_bio, field2 as city, field3 as interest, field4 as occupation, field5 as country, field6 as real_name, field7 as mainsoftware, field8 as othersoftware  FROM vbforum.userfield where userid = $otheruid");
vB_Template::preRegister('MEMBERINFO',array('df_member' => $df_member));


/* ###CUSTOM FIELD WITH ARRAY#### */
$customfield 8;   // Define the numer of the custom field
$userselection $df_member[othersoftware];
$output $db->query_first_slave("SELECT data FROM profilefield where profilefieldid=$customfield");      //Search for the data of the custom field
$output unserialize($output[data]);    // Put the data back into an array
$totalarray count($output);      // Counts the number of options from the custom field
$count 1;
 for (
$i 0$i <= $totalarray$i++) {  // Creates the array in the following way: 1,2,4,8,16,32,64, etc..
    
$values[] = $count
     
$count $count 2;
}

$contador = -1;
foreach (
$values as $value) {     // The teory of how this work is here: http://www.vbulletin.com/forum/showthread.php?108785-How-To-Add-A-Profile-Field-To-The-Postbit
    
$contador ++;
    if (
$value $userselection){
        
$seleccion .= $output[$contador] . ", ";   //Adds the name of the custom field and then adds a coma and a space
    
} else {
    }
}
$seleccion substr_replace($seleccion,"",-2); // removes the coma and the last space
vB_Template::preRegister('MEMBERINFO',array('df_member_othersoftware' => $seleccion)); 
Reply With Quote
  #3  
Old 03-24-2010, 02:56 PM
Sarcoth Sarcoth is offline
 
Join Date: Mar 2006
Location: Huntsville
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

From my experience with the memberinfo stuff, you are going to need to use $userinfo instead of $post.

Also, I don't see you registering any of your variables so I'm not sure you'll get anywhere with that. I recommend reading over the Rending Templates article again and looking over the preregister part of it. I haven't done it before though, so I'm not exactly sure what to do on that.
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 02:00 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.03861 seconds
  • Memory Usage 2,217KB
  • 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
  • (5)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_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
  • 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