最近,我被指派对SharePoint网站进行一些简单的更改。
初始条件很少:
- 这是共享点2013
- 应使用JS实现
- 我对JS有基本的了解,但对SharePoint没有任何经验
我有一个JS文件链接到我的页面上的视图。当我用像alert('a')
这样简单的东西测试时,它工作得很好。
然而,当我试图操作视图中的某个东西时-例如突出显示 * 优先级 * 列中的值,我没有运气。
这是我使用的代码:
(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
希望得到一些帮助,我已经尝试了不同的属性设置时,我上传的代码到主页,我已经尝试把它放在其他目录,但没有真正的工作。
1条答案
按热度按时间92dk7w1h1#
经过一段时间的挖掘,发现虽然列名似乎是 * 优先级 *,但它只是一个显示名称。
检查HTML源代码后,由于某种原因,它的实际名称是 _x007a_it4。