【发布时间】:2018-10-05 12:05:48
【问题描述】:
最近我被分配对 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
不胜感激,当我将代码上传到母版页时,我尝试了不同的属性设置,我尝试将它放在其他目录中,但没有任何效果。
【问题讨论】:
标签: javascript sharepoint sharepoint-2013 csr