Sharepoint 2013 计算字段作为超链接呈现为文本
Sharepoint 2013 calculated field as hyperlink renders as text
我在 Sharepoint 2013 中有一列并将类型设置为 'Calculated'。我已将数据 return 类型设置为整数(附图片),以便该字段是超链接。
所有环境(开发和生产)和浏览器(chrome、firefox、IE)在一年多的时间里一切正常,直到最近用户报告超链接不再可点击并显示为文本(图片随附的)。检查元素,显示被视为文本的值。
我花了一些时间来简化公式、删除字段并让一个简单的元素导航到 google,但没有找到解决方案。我怀疑可能有一个 Sharepoint 更新,它以不同的方式处理公式,在其周围的元素内用双引号创建文本。
经过研究,我找到了问题的原因和解决方案。
原因
SharePoint 更新移除了计算字段设置我们标记的功能,并在 Handling HTML markup in SharePoint calculated fields 中进行了解释。
解决方案
我找到了 JSLink 的解决方案。上面打开link后,有一些使用JSLink的例子。通过一些尝试,我设法将计算字段作为 hyperlink。步骤很简单。
使用代码创建一个 js 文件 - 在我的例子中,我创建了一个 hyperlink,它使用当前项目的值发布到另一个列表。
复制linkjs文件所在位置。
查看 Web 部件上的参考 js 文件,位于“杂项”部分下。
瞧!
注意:在脚本中,字段名必须是内部字段名,这让我的速度变慢了很多。要获取内部字段名称,打开列表设置,将鼠标悬停在所需字段上,然后在浏览器的左下角获取内部字段名称(此处为字段=内部字段名称)。
可以找到JSExample here.
另一本有用的读物 here。
正如原始发帖人所提到的,截至 2017 年 6 月,您不能再这样做了。
对于 SharePoint Online,备选方案是在页面上嵌入一些 JavaScript 或使用新的 SharePoint PnP Fx Extensions。如果您有自己的 SharePoint Server,则可以使用 API [即通过 PowerShell] 修改 Web 对象的 CustomMarkupInCalculatedFieldDisabled 属性。
我需要更强大的解决方案,因此我创建了一个 SharePoint 扩展来执行此操作。你可以view it from GitHub。这些说明应该能够让您在几分钟内起床并 运行。我发现它比 JavaScript 替代方案更容易管理。
我在 Sharepoint 2013 中有一列并将类型设置为 'Calculated'。我已将数据 return 类型设置为整数(附图片),以便该字段是超链接。
所有环境(开发和生产)和浏览器(chrome、firefox、IE)在一年多的时间里一切正常,直到最近用户报告超链接不再可点击并显示为文本(图片随附的)。检查元素,显示被视为文本的值。
我花了一些时间来简化公式、删除字段并让一个简单的元素导航到 google,但没有找到解决方案。我怀疑可能有一个 Sharepoint 更新,它以不同的方式处理公式,在其周围的元素内用双引号创建文本。
经过研究,我找到了问题的原因和解决方案。
原因
SharePoint 更新移除了计算字段设置我们标记的功能,并在 Handling HTML markup in SharePoint calculated fields 中进行了解释。
解决方案
我找到了 JSLink 的解决方案。上面打开link后,有一些使用JSLink的例子。通过一些尝试,我设法将计算字段作为 hyperlink。步骤很简单。
使用代码创建一个 js 文件 - 在我的例子中,我创建了一个 hyperlink,它使用当前项目的值发布到另一个列表。
复制linkjs文件所在位置。
查看 Web 部件上的参考 js 文件,位于“杂项”部分下。
瞧!
注意:在脚本中,字段名必须是内部字段名,这让我的速度变慢了很多。要获取内部字段名称,打开列表设置,将鼠标悬停在所需字段上,然后在浏览器的左下角获取内部字段名称(此处为字段=内部字段名称)。
可以找到JSExample here.
另一本有用的读物 here。
正如原始发帖人所提到的,截至 2017 年 6 月,您不能再这样做了。
对于 SharePoint Online,备选方案是在页面上嵌入一些 JavaScript 或使用新的 SharePoint PnP Fx Extensions。如果您有自己的 SharePoint Server,则可以使用 API [即通过 PowerShell] 修改 Web 对象的 CustomMarkupInCalculatedFieldDisabled 属性。
我需要更强大的解决方案,因此我创建了一个 SharePoint 扩展来执行此操作。你可以view it from GitHub。这些说明应该能够让您在几分钟内起床并 运行。我发现它比 JavaScript 替代方案更容易管理。