Answers.Body: <p>You can put a file called UserDashBoard.extra.tpl in your extension in the templates/CRM/Contact/Page/View folder, and then put your html in it and use smarty's <a href="https://docs.civicrm.org/dev/en/latest/api/interfaces/#smarty-api-interface" rel="nofollow noreferrer">crmAPI</a> to retrieve the data based on the value of <code>$contactId</code> which will contain the user contact id.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-09-04T17:42:20.437Z
Answers.Text: This is pretty useful and may solve my issue.  Is there a way to keep everything styled the same as it seems to put the extra stuff outside the crm-main-content-wrapper block?
Answers.UserDisplayName: Chankster
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-09-04T17:45:10.800Z
Answers.Text: It would be a bit hokey but you could use some jquery in the tpl to manipulate the DOM and move it. See https://api.jquery.com/insertafter where it says "We can also select an element on the page and insert it after another".
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-09-04T22:30:22.853Z
Answers.Text: If Demerit's jQuery suggestion in hokey, then most Civi developers are hokey.  That's a pretty standard technique these days for injecting content in place.  Tim Otten's work on afform will hopefully render this technique obsolete, but that's a ways off yet.
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-09-04T22:42:24.623Z
Answers.Text: He he - I won't confirm or deny if I've used it myself several times...
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-17T21:12:24.000Z
Answers.Text: I followed Demerit's answer and successfully setup custom fields to display on the Donor Database. I even used the second part to move it to the top of the dashboard
Answers.UserDisplayName: Iowa Boy
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-09-04T16:53:47.013Z
Answers.LastActivityDate: 2019-09-04T16:53:47.013Z
Answers.UserDisplayName: Demerit
Answers.Body: <p>Might be too late to help you but this may be the answer you're looking for: <a href="https://civicrm.org/extensions/contact-layout-editor" rel="nofollow noreferrer">https://civicrm.org/extensions/contact-layout-editor</a></p>
  
  <p>That extension lets you entirely customize the display on the "summary" tab for contacts. Beyond the options that it offers, if you can't get it to display exactly what you want in your case you can also code your own custom blocks to add to the layout.</p>
  
  <p>EDIT: Sorry, I see that you're interested in a different page /civicrm/user. My answer would apply for anyone who wants to edit /civicrm/contact/view.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-04-06T16:52:13.600Z
Answers.LastActivityDate: 2020-04-06T16:52:13.600Z
Answers.UserDisplayName: martin
Answers.Body: <p>If you are using Drupal, one option is to create a View as a Block and then set the Block to show at the Contact Dashboard page.</p>
  
  <p>WP may have a similar solution based on using a CiviCRM Profile and having that set up (via some WP approach I do not know) to show at the Contact Dashboard path</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-09-03T19:41:18.637Z
Answers.LastActivityDate: 2019-09-03T19:41:18.637Z
Answers.UserDisplayName: petednz - fuzion
Body: <p>What would be the best way to display custom contact fields in the contact dashboard (civicrm/user).</p>
  
  <p>We're using custom fields to store waiver/agreement statuses and would like users to be able to get a quick view of all waivers from the dashboard.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-09-03T19:28:59.143Z
Comments.Text: what CMS are you using? would a solution (ie a profile) that showed on their login page, rather than their civi contact dashboard be acceptable?
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-09-04T13:41:02.077Z
Comments.Text: We're using Drupal 7.  I would like for it to be a part of the dashboard but I can give it a try with a separate view.
Comments.UserDisplayName: Chankster
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-09-04T19:05:19.290Z
Comments.Text: Then pls consider my answer below
Comments.UserDisplayName: petednz - fuzion
Tags: <user-dashboard>
Title: Displaying Custom Contact Fields In Contact Dashboard
ThreadText: # Displaying Custom Contact Fields In Contact Dashboard
  
  (Asked by: username_0 on 2019-09-03)
  
  What would be the best way to display custom contact fields in the contact dashboard (civicrm/user).
  
  We're using custom fields to store waiver/agreement statuses and would like users to be able to get a quick view of all waivers from the dashboard.
  
  **Tags:** user-dashboard
  
  > **Comments:**
  > **username_1**: what CMS are you using? would a solution (ie a profile) that showed on their login page, rather than their civi contact dashboard be acceptable?  
  > **username_0**: We're using Drupal 7.  I would like for it to be a part of the dashboard but I can give it a try with a separate view.  
  > **username_1**: Then pls consider my answer below  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2019-09-03. Score: 3 | Accepted answer
  
  If you are using Drupal, one option is to create a View as a Block and then set the Block to show at the Contact Dashboard page.
  
  WP may have a similar solution based on using a CiviCRM Profile and having that set up (via some WP approach I do not know) to show at the Contact Dashboard path
  
  
  ---
  
  ### Answer by username_2 on 2019-09-04. Score: 2
  
  You can put a file called UserDashBoard.extra.tpl in your extension in the templates/CRM/Contact/Page/View folder, and then put your html in it and use smarty's [crmAPI](https://docs.civicrm.org/dev/en/latest/api/interfaces/#smarty-api-interface) to retrieve the data based on the value of `$contactId` which will contain the user contact id.
  
  > **Comments:**
  > **username_0**: This is pretty useful and may solve my issue.  Is there a way to keep everything styled the same as it seems to put the extra stuff outside the crm-main-content-wrapper block?  
  > **username_2**: It would be a bit hokey but you could use some jquery in the tpl to manipulate the DOM and move it. See https://api.jquery.com/insertafter where it says "We can also select an element on the page and insert it after another".  
  > **username_3**: If username_2's jQuery suggestion in hokey, then most Civi developers are hokey.  That's a pretty standard technique these days for injecting content in place.  Tim Otten's work on afform will hopefully render this technique obsolete, but that's a ways off yet.  
  > **username_2**: He he - I won't confirm or deny if I've used it myself several times...  
  > **username_4**: I followed username_2's answer and successfully setup custom fields to display on the Donor Database. I even used the second part to move it to the top of the dashboard  
  
  ---
  
  ### Answer by username_5 on 2020-04-06. Score: 0
  
  Might be too late to help you but this may be the answer you're looking for: <https://civicrm.org/extensions/contact-layout-editor>
  
  That extension lets you entirely customize the display on the "summary" tab for contacts. Beyond the options that it offers, if you can't get it to display exactly what you want in your case you can also code your own custom blocks to add to the layout.
  
  EDIT: Sorry, I see that you're interested in a different page /civicrm/user. My answer would apply for anyone who wants to edit /civicrm/contact/view.
  
  
  ---
  
  