SharePoint 2013 -使用JavaScript覆盖字段

gfttwv5a  于 2023-01-01  发布在  Java
关注(0)|答案(1)|浏览(128)

最近,我被指派对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
希望得到一些帮助,我已经尝试了不同的属性设置时,我上传的代码到主页,我已经尝试把它放在其他目录,但没有真正的工作。

92dk7w1h

92dk7w1h1#

经过一段时间的挖掘,发现虽然列名似乎是 * 优先级 *,但它只是一个显示名称。
检查HTML源代码后,由于某种原因,它的实际名称是 _x007a_it4

相关问题