最近我被分配对SharePoint网站进行一些简单的更改。
少数初始条件:
-2013年的分享点
-应该使用JS
实现
-我具有JS的基本知识,没有任何SharePoint经验
我有一个JS文件与页面上的视图链接。
当我使用alert('a')
之类的简单工具进行测试时,它就可以正常工作。
但是,当我尝试操纵视图中的某物时-例如 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>";
}
}
这是我的观点:
我已经在启用和禁用MDS的情况下进行了尝试。我尝试将代码锚定在脚本编辑器中,并将其作为html Web部件的一部分。我实际上是从MS网站上获得的示例代码,在这里工作得很好:https://code.msdn.microsoft.com/office/Client-side-rendering-code-0a786cdd
希望获得一些帮助,将代码上传到母版页时,我尝试了不同的属性设置,并尝试将其放在其他目录中,但实际上没有任何作用。
答案 0 :(得分:0)
挖掘一段时间后,发现尽管列名称似乎是 Priority ,但它只是一个显示名称。
检查HTML源代码后,发现它的实际名称是 _x007a_it4 。