2015-05-15 2 views
2

Фон
У меня есть страница, где я показываю два вида списка из двух отдельных списков, которые имеют свой собственный список как свой список ListTemplate. Они получили отдельный файл jslink, поэтому я не хочу, чтобы они выглядели одинаково.Создание целевого конкретного целевого списка jslink

Проблема
, ИС файл ссылка цель как ListViews, так как они используют один и тот же шаблон.

Код

(function() { 
    var listContext = {}; 
    listContext.Templates = {}; 

    listContext.ListTemplateType = 100; 

    listContext.Templates.Header = "<div><ul>"; 
    listContext.Templates.Footer = "</ul></div>"; 
    listContext.Templates.Item = LinkTemplate; 

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(listContext); 

})(); 

Вопрос
Есть ли способ, чтобы сделать JS только целевой конкретный список?

ответ

0

Закончен с решением Пола Хантс, о котором он пишет, на myfatblog.co.uk. http://www.myfatblog.co.uk/index.php/2013/09/listview-web-part-issues-with-jslink-and-display-templates-a-solution/

Скрипт закончился таким образом, и я вложил его в функцию jslink, где я определяю, что listContext переопределить.

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

    // Copy and override the existing RenderListView 
    var oldRenderListView = RenderListView; 

    RenderListView = function(ctx,webPartID) 
    { 
     // Check the title and set the BaseViewId 
     if (ctx.ListTitle == "List") 
      ctx.BaseViewID = "list"; 

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

},"ClientTemplates.js"); 
Смежные вопросы