No announcement yet.

[vB5] User Profile Fields in the postbit templates


  • [vB5] User Profile Fields in the postbit templates

    Using your User Profile Fields on your site

    This article is written with the assumption that you have already created your own User Profile Fields in the User Profile Field Manager. If you need help with this, you may read about it in the manual here -

    For the Purposes of this article, I will be referring to "fieldx" as the name of your profile field. Your real name will be found in the User Profile Manager in the "Name" column - field1, field2, etc.

    First thing to do is figure out which fields you want to add to your postbit. Go to your Admincp > User Profile Fields > User Profile Field Manager and note both the Field Name (field1, field2, etc) and the Category the field is in (see image 1). The Profile Fields are listed under their Category Title on this page. It should either be "(Uncategorized)" or have some other category listed. To then get the Category ID, go to User Profile Field Categories, click to Edit the category you want the ID of, and it will be listed at the top - id x (see image 2). Uncategorized Categories have no Category ID.
    Image 1:

    Image 2:
    So, now that you have a list of field ids and category ids, you can now easily add them to your postbit.

    First make sure your hook system is active (it is turned off by default). Go to Admincp > Settings > Products/Hook System > Enable/Disable Hook System > Yes.

    Now, go to Admincp > Products & Hooks > Manage Hooks and click the link that says "[Add New Hook]". In that new hook, set the following:
    Hook is Active: Yes
    Hook Location: conversation_userstats
    Title: Show Profile Fields in Postbit
    Template Name: conversation_fields
    Hook Arguments: conversation=conversation
    Now go to Admincp > Styles & Templates > Style Manager > Add New Template and on that page, set the following:
    Title: conversation_fields
    {vb:data userInfo, user, fetchProfileInfo, {vb:raw conversation.userid}}
    For each field you want shown, you will need to add this code under that line:
    <vb:if condition="$userInfo['fieldX']"><li><label>{vb:phrase fieldX_title}:</label> <span>{vb:raw userInfo.customFields.default.fieldX_title.val}</span></li></vb:if>
    Replace the X in "FieldX" (three times) with the fieldid and, if your field is in a Category other than Uncategoried, then replace "default" with "categoryY_title" where Y is the category id.

    So, for instance, say I have the following I want to add:
    Name Category
    field5 (uncategoried)
    field7 New Cat(id 1)
    Then my template would look like this:
    {vb:data userInfo, user, fetchProfileInfo, {vb:raw conversation.userid}}
    <vb:if condition="$userInfo['field5']"><li><label>{vb:phrase field5_title}:</label> <span>{vb:raw userInfo.customFields.default.field5_title.val}</span></li></vb:if>  
    <vb:if condition="$userInfo['field7']"><li><label>{vb:phrase field7_title}:</label> <span>{vb:raw userInfo.customFields.category1_title.field7_title.val}</span}</li></vb:if>
    That's it!
    You do not have permission to view this gallery.
    This gallery has 2 photos.
    Last edited by Lynne; Wed 29 May '13, 7:46am.
      Posting comments is disabled.

    Related Topics