Рендеринг JSLink на стороне клиента не работает в пользовательском списке

Мы используем SharePoint 2013 вместе с пользовательским списком, который имеет следующие свойства (проверено с помощью F12)

ctx.BaseViewID = 1;
ctx.ListTemplateType = 10050;
RenderListView(ctx19, 'WPQ2');

Я пытаюсь переопределить заголовок / титр, используя приведенный ниже код, однако метод postRenderHandler не вызывается - я не использую MDS

Обратите внимание, что я попытался включить SP.SOD.executeFunc, чтобы явно загрузить clienttemplates.js.

Также пытались заставить использовать BaseViewID = 99, как указано в этом блоге http://www.myfatblog.co.uk/index.php/2013/09/listview-web-part-issues-with-jslink-and-display-templates-a-solution/

    SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {
    var contextFiledContext = {};
    contextFiledContext.Templates = {};
    contextFiledContext.Templates.Fields = {
        "Titel": { "View": postRenderHandler },
        "Title": { "View": postRenderHandler }
    };
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(contextFiledContext);
});

function postRenderHandler(ctx){
  var link = ctx.CurrentItem["FileLeafRef"]; 
  var value = ctx.CurrentItem["Title"]
  var html="";
  if(value!=""){
    var html= "<a href='"+link+"'>"+value+"</a>";
  }
  return html;
}

// Now override the RenderListView once the ClientTemplates.JS has been called
ExecuteOrDelayUntilScriptLoaded(function(){

    //Take a copy of the existing Microsoft Definition of RenderListView
    var oldRenderListView = RenderListView;

    //Now redefine RenderListView with our override
    RenderListView = function(ctx,webPartID)
    {
        if (ctx.wpq == 'WPQ2')
        {
            ctx.BaseViewID = 99;
        }
        else if (ctx.wpq == 'WPQ3')
        {
            ctx.BaseViewID = 98;
        }
        else if (ctx.wpq == 'WPQ4')
        {
            ctx.BaseViewID = 97;
        }

        //now call the original RenderListView
        oldRenderListView(ctx,webPartID);
    }

},"ClientTemplates.js");

0 ответов

Другие вопросы по тегам