JSLink:UserFields(著者、Editor、...)ユーザーIDではなくUserIDを提供するだけです。
-
29-09-2020 - |
質問
最近JSLinkでビューを変更しようとしました。 デフォルトでは、ユーザーフィールドは最初は一目で空白にされます。HTMLを探す
としてレンダリング<span class="ms-floatLeft ms-peopleux-vanillaUser">
<span class="ms-floatLeft ms-peopleux-vanillaUser">
<span class="ms-floatLeft ms-peopleux-vanillaUser">
<span class="ms-floatLeft ms-peopleux-vanillaUser">
<span class="ms-floatLeft ms-peopleux-vanillaUser">
</span></span></span></span></span>
.
Context.CurrentItemが指定された値がuserIDのみであることを提供します。 CurrentItem:
{ Title: "Test", Editor: "1", PublishingPageContext:"...", ... }.
jslink:
(function () { var bodyFiledContext = {}; bodyFiledContext.Templates = {}; bodyFiledContext.Templates.Fields = { "PublishingPageContent": { "View": bodyFiledTemplate } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(bodyFiledContext); })();.
ユーザー名を取得する機会は?
解決
List Viewにユーザーフィールドが含まれていることを確認します。
その後、
の写真に表示されているように、ユーザーフィールドのプロパティにアクセスできます。
(function () {
function renderPageContent(rCtx){
var item = rCtx.CurrentItem;
if(item.Author.length > 0) {
var authorId = item.Author[0].id;
var authorName = item.Author[0].title;
}
}
var viewContext = {};
viewContext.Templates = {};
viewContext.Templates.Fields = {
"PublishingPageContent": { "View": renderPageContent }
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(viewContext);
})();
. 所属していません sharepoint.stackexchange