web-dev-qa-db-ja.com

ユーザーの詳細ページでユーザーのメールを公開する方法は?

現在、表示の管理ページでは、表示の管理ページに電子メールフィールドを表示する方法はありません。 Drupal 8件の連絡先詳細ページでこれをどのように公開しますか?

プロファイルページでのユーザーテンプレートまたはビューブロックレンダリングの場合と同様に、この問題の回避策があります。

enter image description here

5

デフォルトでは、メールフィールドは表示モードでは設定できません。

これはカスタムモジュールで変更できます。このフックをmymodule.moduleに配置します

function mymodule_entity_base_field_info_alter(&$fields, $entity_type) {
  if ($entity_type->id() == 'user') {
    if (isset($fields['mail'])) {
      $fields['mail']->setDisplayConfigurable('view', TRUE);
    }
  }
}

メールフィールドはManage Displayページにあります。

5
4k4

「ディスプレイの管理」を使用する直接的な方法はありませんが、テーマのuser.html.twigを使用する回避策はあります。

ユーザーに関連する他の値を取得するためにアクセスできる{{user}}変数を取得します。

コード-

`

<div class="col-sm-12">
      <header>
        <h2> My Profile </h2>
      </header>
      <div class="row">
        <div class="col-sm-8">
           <h4>About Me</h4>
           <ul class="profile-list">
              <li> Email:&nbsp;&nbsp;{{ user.mail.value }}  </li>
              <li> Name:&nbsp;&nbsp;{{ user.name.value }}  </li>
           </ul>
        </div>
      </div>
</div>

`

0
Ashish Deynap