当我为SharePoint人物搜索编写自定义显示模板时,我想显示搜索到的用户的管理员。当我显示从SharePoint人员搜索返回的管理器值时,它显示如下:
I:0#.F |成员| lpalmer@xyz.com
我想在SharePoint显示模板中显示显示而不是帐户名称。如果可以使用JavaScript或仅通过对SharePoint用户配置文件属性更改执行某些配置,请告诉我。
答案 0 :(得分:1)
仅使用配置无法完成此操作。您需要使用搜索服务返回的登录名来查询User Profile Service并获取显示名称。
要获得任何财产,您可以使用以下内容:
function getProfilePropertyValueFromLoginName(loginName, propertyName, success, error) {
// Get the current client context and PeopleManager instance.
var clientContext = new SP.ClientContext.get_current();
var peopleManager = new SP.UserProfiles.PeopleManager(clientContext);
// Get user properties for the target user.
// To get the PersonProperties object for the current user, use the
// getMyProperties method.
var personProperties = peopleManager.getPropertiesFor(loginName);
// Load the PersonProperties object and send the request.
clientContext.load(personProperties);
clientContext.executeQueryAsync(
function () {
if (success) {
success(loginName, personProperties.get_userProfileProperties()[propertyName]);
}
}, function (sender, args) {
if (error) {
error(sender, args);
}
});
}
- 希望它有帮助