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 +
"' > </span> " + color;
【问题讨论】:
你为什么不试试:var color = ctx.CurrentItem.NameOfYourColumn;并检查列名是否正确。因为昨天我在编辑模式下创建了一个列,当我输入我的列的名称时,该列的名称是用其他名称创建的,例如:“poakspoK”,我想要“Type”。 :) 不确定问题是否与我上周遇到的问题相同,但请查看 [这里][sharepoint.stackexchange.com/questions/139771/… - 我认为这可能是同一个问题,您需要实施也有自己的自定义端点... 【参考方案1】:您上面的代码用于在视图中呈现字段。在这种情况下,您可以在favoriteColorViewTemplate
函数中获取这些属性:
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 中创建自定义优化面板
我需要列出 SharePoint 网站中的自定义列表和库吗?
SharePoint 2010 到 SharePoint 2013 的迁移