有没有办法在CQ5中获取当前页面作者的电子邮件地址和其他个人资料详细信息?
我需要在我的页面上发布它。我可以把它作为一个文本组件,让作者自己添加它,但从后端显示它会很酷..
目前,我只能使用Page.LastModifiedBy()
答案 0 :(得分:6)
您可以通过页面的jcr:content节点上的jcr:createdBy属性获取作者的用户名。
然后,您可以通过UserManager查找电子邮件地址,您可以adaptTo from a JcrSession object。此页面有一些additional information on loading user information。
从JSP可以做到这样的事情:
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" import="org.apache.jackrabbit.api.security.user.*, com.day.cq.commons.jcr.*" %>
...
<%
String createdBy = properties.get(JcrConstants.JCR_CREATED_BY, String.class);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable authorizable = userManager.getAuthorizable(createdBy);
if (authorizable.hasProperty("profile/familyName")) {
String familyName = authorizable.getProperty("profile/familyName")[0].getString();
}
%>