SharePoint 2013 中的自定义字段

Posted

技术标签:

【中文标题】SharePoint 2013 中的自定义字段【英文标题】:Custom Field in SharePoint 2013 【发布时间】:2014-07-11 13:34:52 【问题描述】:

我受托将现有的自定义插件从 SharePoint 2010 迁移到 2013。SharePoint 2013 解决方案应创建一个自定义列,应使用 Web 服务从我们的产品(应用程序)获取数据。在 2010 中,js 文件位置和函数已使用渲染模式从 fldtypes_xxxx.xml 文件中调用。但是在 2013 年,由于 UI 发生了变化,我无法链接 JS 文件。因此我不得不使用 JSLink 属性。参考下面的msdn文章并尝试过。

http://msdn.microsoft.com/en-us/library/jj220061%28v=office.15%29.aspx

现在我想从 JS 文件中调用 web 服务。我需要获取文档的信息,如 listid、itemID 并将其发送到我们的自定义 Web 服务,该 Web 服务处理请求,该请求又应向我们的外部应用程序发送 Web 服务调用,并在共享点库中获取相应文档的数据。

请指导我。

如何从以下函数添加调用。

(function () 
    var favoriteColorContext = ;

    favoriteColorContext.Templates = ;
    favoriteColorContext.Templates.Fields = 
        "FavoriteColorField": 
            "View": favoriteColorViewTemplate
        
    ;

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(
        favoriteColorContext
        );
)();

function favoriteColorViewTemplate(ctx) 
    var color = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
    return "<span style='background-color : " + color +
        "' >&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;" + color;

【问题讨论】:

你为什么不试试:var color = ctx.CurrentItem.NameOfYourColumn;并检查列名是否正确。因为昨天我在编辑模式下创建了一个列,当我输入我的列的名称时,该列的名称是用其他名称创建的,例如:“poakspoK”,我想要“Type”。 :) 不确定问题是否与我上周遇到的问题相同,但请查看 [这里][sharepoint.stackexchange.com/questions/139771/… - 我认为这可能是同一个问题,您需要实施也有自己的自定义端点... 【参考方案1】:

您上面的代码用于在视图中呈现字段。在这种情况下,您可以在favoriteColorViewTemplate 函数中获取这些属性:

列表 ID:ctx.listName 或来自全局变量 _spPageContextInfo.pageListId 物品编号:ctx.CurrentItem.ID

如果您将在显示或编辑表单中使用函数,这些属性会有些不同:

列表 ID:ctx.FormContext.listAttributes.Id_spPageContextInfo.pageListId 物品编号:renderCtx.FormContext.itemAttributes.Id

可能,调用自定义 Web 服务的最简单方法是使用 JQuery $.ajax(...) 调用。在此处查看一些示例:

    http://api.jquery.com/jquery.ajax/ http://www.w3schools.com/jquery/ajax_ajax.asp

如果你想引用 JQuery,你也可以使用 JSLink,使用 | 符号,如下所示:

path to JQuery|path to your JS file

【讨论】:

以上是关于SharePoint 2013 中的自定义字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SharePoint 2013 中创建自定义优化面板

python中的自定义pivot_ui聚合器?

我需要列出 SharePoint 网站中的自定义列表和库吗?

SharePoint 2010 到 SharePoint 2013 的迁移

摘要链接 Web 部件与 SharePoint 2007/2010 中的自定义 Web 部件冲突

将自定义 Web 部件部署到 SharePoint 2013