JSLink:UserFields(著者、Editor、...)ユーザーIDではなくUserIDを提供するだけです。

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/104828

質問

最近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); 
})(); 
.

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top