Answers.Body: <p>As @coleman says and as I also mentioned in my comment above, you can create an extension as explained <a href="https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension" rel="nofollow">here</a> or you can use an existing one and implement  <code>hook_civicrm_contact_get_displayname</code>, somthing like this:</p>
  
  <pre><code>function myextension_civicrm_contact_get_displayname(&amp;$display_name, $contactId, $objContact) {
      $formal_title = civicrm_api3('Contact', 'getsingle', array(
          'sequential' =&gt; 1,
          'contact_id' =&gt; $contactId,
          'return' =&gt; 'formal_title',
      ));
      if(!$formal_title['is_error'] &amp;&amp; !empty($formal_title['formal_title'])){
          $display_name = $display_name . ' - Formal Title: ' . $formal_title['formal_title'];
      } else {
          $display_name = $display_name;
      }
  }
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-09T16:17:54.690Z
Answers.LastActivityDate: 2016-04-10T21:47:19.510Z
Answers.LastEditDate: 2016-04-10T21:47:19.510Z
Answers.UserDisplayName: Andrei
Answers.Body: <p>I think what you want is <a href="https://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_contact_get_displayname" rel="nofollow">hook_civicrm_contact_get_displayname</a>. This allows you to alter the display name of a contact when it appears in the UI (namely in the contact summary screen and a few other screens where the display name is used as a title) without changing it in the db.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-09T00:09:13.503Z
Answers.LastActivityDate: 2016-04-09T00:09:13.503Z
Answers.UserDisplayName: Coleman
Body: <p>A previous developer repurposed the "formal title" field to be used as "badge name" for events. </p>
  
  <p>The problem is that when viewing a contact, it doesn't show there unless you go to <em>edit</em> the name.</p>
  
  <p>I found a "recipe" for displaying formal title as part of the general display of names, but that is not what we want. </p>
  
  <p>How can we 1. display the "formal title" field when viewing a contact, but 2. <em>not</em> display it as part of a name everywhere that a name is displayed?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-04-08T19:25:08.543Z
Comments.Text: Have a look at the screenshot here: https://gist.github.com/mecachisenros/785d9d8eef15359b4f66a332406b7b0e  that appends an id to the contact name in the Contact Summary but you can append pretty much anything and is a fairly easy customization, I'm just wondering if something like that would work for you, if it does I'll add an answer with instructions.
Comments.UserDisplayName: Andrei
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-04-08T20:37:26.710Z
Comments.Text: Something like that could work - we may have to use some conditionals to show it only in certain places, mainly when viewing a contact as admin
Comments.UserDisplayName: GHolmes
Tags: <contacts><fields><summaryfields>
Title: How to show "Formal Title" on the view Contact screen?
ThreadText: # How to show "Formal Title" on the view Contact screen?
  
  (Asked by: username_0 on 2016-04-08)
  
  A previous developer repurposed the "formal title" field to be used as "badge name" for events.
  
  The problem is that when viewing a contact, it doesn't show there unless you go to *edit* the name.
  
  I found a "recipe" for displaying formal title as part of the general display of names, but that is not what we want.
  
  How can we 1. display the "formal title" field when viewing a contact, but 2. *not* display it as part of a name everywhere that a name is displayed?
  
  **Tags:** contacts, fields, summaryfields
  
  > **Comments:**
  > **username_1**: Have a look at the screenshot here: https://gist.github.com/mecachisenros/785d9d8eef15359b4f66a332406b7b0e  that appends an id to the contact name in the Contact Summary but you can append pretty much anything and is a fairly easy customization, I'm just wondering if something like that would work for you, if it does I'll add an answer with instructions.  
  > **username_0**: Something like that could work - we may have to use some conditionals to show it only in certain places, mainly when viewing a contact as admin  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2016-04-09. Score: 2 | Accepted answer
  
  As @coleman says and as I also mentioned in my comment above, you can create an extension as explained here or you can use an existing one and implement  hook_civicrm_contact_get_displayname, somthing like this:
  function myextension_civicrm_contact_get_displayname(&$display_name, $contactId, $objContact) {
      $formal_title = civicrm_api3('Contact', 'getsingle', array(
          'sequential' => 1,
          'contact_id' => $contactId,
          'return' => 'formal_title',
      ));
      if(!$formal_title['is_error'] && !empty($formal_title['formal_title'])){
          $display_name = $display_name . ' - Formal Title: ' . $formal_title['formal_title'];
      } else {
          $display_name = $display_name;
      }
  }
  
  
  ---
  
  ### Answer by username_2 on 2016-04-09. Score: 0
  
  I think what you want is [hook\_civicrm\_contact\_get\_displayname](https://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_contact_get_displayname). This allows you to alter the display name of a contact when it appears in the UI (namely in the contact summary screen and a few other screens where the display name is used as a title) without changing it in the db.
  
  
  ---
  
  