Недавно мне было поручено настроить несколько простых изменений на сайте SharePoint.
Несколько начальных условий:
- это sharepoint 2013
- его следует реализовать с помощью JS
- Я обладаю базовыми знаниями в области JS и не имею опыта работы с SharePoint
У меня есть файл JS, связанный с представлением на моей странице.Когда я тестирую с помощью sth, например alert('a')
, он работает просто отлично.
Однако, когда я пытаюсь манипулировать sth, который находится внутри представления - например, выделение значений в столбце Priority Мне не повезло.
Это код, который я использую:
(function () {
// Create object that have the context information about the field that we want to change it's output render
var priorityFiledContext = {};
priorityFiledContext.Templates = {};
priorityFiledContext.Templates.Fields = {
// Apply the new rendering for Priority field on List View
"Priority": { "View": priorityFiledTemplate }
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(priorityFiledContext);
})();
// This function provides the rendering logic for list view
function priorityFiledTemplate(ctx) {
var priority = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
// Return html element with appropriate color based on priority value
switch (priority) {
case "(1) High":
return "<span style='color :#f00'>" + priority + "</span>";
break;
case "(2) Normal":
return "<span style='color :#ff6a00'>" + priority + "</span>";
break;
case "(3) Low":
return "<span style='color :#cab023'>" + priority + "</span>";
}
}
И это мое мнение:
![enter image description here](https://i.stack.imgur.com/I2z5y.png)
Я пробовал и с включенной, и с отключенной MDS.Я пытался закрепить код в редакторе сценариев и как часть веб-части HTML.Я взял этот пример кода с сайта MS, где он работает просто отлично: https://code.msdn.microsoft.com/office/Client-side-rendering-code-0a786cdd
Буду признателен за некоторую помощь, я пробовал разные настройки свойств, когда я загружал код на мастер-страницы, я пытался поместить егов других каталогах, но на самом деле ничего не работает.