# Nascondi il nome completo se non si è connessi

**URL:** https://meta.discourse.org/t/hide-full-name-if-not-logged-in/114789
**Category:** Development
**Created:** [11 Aprile 2019, 5:26pm UTC](https://meta.discourse.org/t/hide-full-name-if-not-logged-in/114789 "2019-04-11T17:26:50Z")
**Posts on this page:** 1
**Showing post:** 13

<div class="post-metadata">

### Author: ![tshenry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tshenry/32/119495_2.png) [@tshenry](https://meta.discourse.org/u/tshenry)
#### Post date: [24 Luglio 2019, 11:16am UTC](https://meta.discourse.org/t/hide-full-name-if-not-logged-in/114789/13 "2019-07-24T11:16:36Z")

</div>

Ho appena controllato e il codice funziona ancora. Tutte le note che ho menzionato sono ancora valide.

* * *

Ho cercato di individuare tutte le aree in cui il nome completo dell’utente veniva utilizzato come attributo title del suo avatar. Il codice seguente dovrebbe coprire tutte le aree, supponendo che `hide_user_profiles_from_public` e `prioritize_username_in_ux` siano abilitati. Purtroppo, si basa sull’override di un paio di template, ma questi non cambiano molto spesso. Ho incluso i link ai file su GitHub nel caso in cui tu voglia verificare se è necessario aggiornare qualche parte del codice. L’unica modifica che ho apportato è stata aggiungere o modificare il `namePath` in modo che utilizzi il nome utente invece del nome completo.

```plaintext
<script type="text/discourse-plugin" version="0.8">
  api.reopenWidget("poster-name", {
    html(attrs) {
      let contents = this._super(attrs);
      if(contents.length == 2 && api.getCurrentUser()) {
        return contents.shift();
      }
      return contents;
    }
  });
  
  api.reopenWidget("post-avatar", {
    html(attrs) {
      attrs.name = "";
      return this._super(attrs);
    }
  });
  
  api.reopenWidget("topic-map-summary", {
    html(attrs, state) {
      attrs.createdByName = "";
      attrs.lastPostName = "";
      return this._super(attrs, state);
    }
  });
  
  api.reopenWidget("topic-participant", {
    html(attrs, state) {
      attrs.name = "";
      return this._super(attrs, state);
    }
  });

</script>

<!-- https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/user-info.hbs -->
<script type="text/x-handlebars" data-template-name="components/user-info">
  <div class="user-image">
    <div class="user-image-inner">
      <a href="{{unbound userPath}}" data-user-card="{{unbound user.username}}">{{avatar user namePath="user.username" imageSize="large"}}</a>
      {{#if user.primary_group_name}}
        {{avatar-flair
          flairURL=user.primary_group_flair_url
          flairBgColor=user.primary_group_flair_bg_color
          flairColor=user.primary_group_flair_color
          groupName=user.primary_group_name}}
      {{/if}}
    </div>
  </div>

  <div class="user-detail">
    <div class='name-line'>
      <span class="username"><a href="{{unbound userPath}}" data-user-card="{{unbound user.username}}">{{format-username user.username}}</a></span>
      <span class="name">{{unbound name}}</span>
    </div>
    <div class="title">{{unbound user.title}}</div>

    {{#if hasBlock}}
      <div class='details'>
        {{yield}}
      </div>
    {{/if}}

  </div>
</script>

<!-- https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/list/posters-column.raw.hbs -->
<script type="text/x-handlebars" data-template-name="list/posters-column.raw">
  <td class='posters'>
  {{#each posters as |poster|}}
  <a href="{{poster.user.path}}" data-user-card="{{poster.user.username}}" class="{{poster.extraClasses}}">{{avatar poster avatarTemplatePath="user.avatar_template" usernamePath="user.username" namePath="user.username" imageSize="small"}}</a>
  {{/each}}
  </td>
</script>

<!-- https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/latest-topic-list-item.hbs -->
<script type="text/x-handlebars" data-template-name="components/latest-topic-list-item">
  <div class='topic-poster'>
    {{#user-link user=topic.lastPoster}}
      {{avatar topic.lastPoster namePath="topic.lastPoster" imageSize="large"}}
    {{/user-link}}
  </div>
  <div class='main-link'>
    <div class='top-row'>
      {{raw "topic-status" topic=topic}}
      {{topic-link topic}}
      {{#if topic.featured_link}}
        {{topic-featured-link topic}}
      {{/if}}
      {{topic-post-badges newPosts=topic.totalUnread unseen=topic.unseen url=topic.lastUnreadUrl}}
    </div>
    <div class='bottom-row'>
      {{category-link topic.category}}
      {{discourse-tags topic mode="list"}}
    </div>
  </div>
  <div class='topic-stats'>
    {{raw "list/posts-count-column" topic=topic tagName="div"}}
    <div class="topic-last-activity">
      <a href="{{topic.lastPostUrl}}" title="{{topic.bumpedAtTitle}}">{{format-date topic.bumpedAt format="tiny" noTitle="true"}}</a>
    </div>
  </div>
</script>

```

Questo non dovrebbe essere considerato un metodo sicuro al 100%, ma manterrà le informazioni fuori dalla vista di chiunque non stia cercando attivamente di trovarle.

Prima o poi sarebbe bello avere questa funzionalità come comportamento di base ogni volta che `prioritize_username_in_ux` è abilitato.

@DavidO, hai letto [Beginner's guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966#heading--2-3)? Se hai creato un componente tema e aggiunto il codice alla sezione comune `<head>`, assicurati di aggiungere il componente al tuo tema principale.

---

_[View the full topic](https://meta.discourse.org/t/hide-full-name-if-not-logged-in/114789)._
