2017-10-05 4 views

Répondre

1

L'utilitaire Liferay JS Liferay.ThemeDisplay ou simplement themeDisplay ne contient pas implicitement l'adresse e-mail de l'utilisateur. Il expose juste userId et userName alors qu'il n'a aucun objet getUser ou User dedans. Toutefois, vous pouvez réaliser cela en remplaçant \html\common\themes\top_js.jspf en utilisant le crochet JSP. Tout ce que vous devez faire est d'ajouter des lignes suivantes ci-dessous getUserName: function() {:

getUserEmailAddress: function() { 
    <c:choose> 
     <c:when test="<%= themeDisplay.isSignedIn() %>"> 
      return "<%= UnicodeFormatter.toString(user.getEmailAddress()) %>"; 
     </c:when> 
     <c:otherwise> 
      return ""; 
     </c:otherwise> 
    </c:choose> 
}, 

Ensuite, vous serez en mesure d'obtenir l'adresse e-mail de l'utilisateur soit par Liferay.ThemeDisplay.getUserEmailAddress(); ou themeDisplay.getUserEmailAddress();.

+0

Je travaille sur Liferay 7 .. j'ai besoin d'écrire un projet de fragment de module liferay, la pâte est ce fichier jar le \ html \ common \ themes \ top_js.jspf –

+0

Je préférerais ajouter cette fonction dans top_js-ext.jspf – ravikuwi

+0

Je n'ai pas encore travaillé sur Liferay 7, mais vous pouvez trouver ce fichier dans 'liferay-portal/portal-web/docroot/html/common/themes/top_js.jspf' et le surcharger avec les changements suggérés. –