0

我正在尝试创建一个页面布局,它应该有一个查找字段。查找字段应始终填充列表项。

此列表将存在于所有子站点中,因此无论我在何处创建此页面,列表都应填充当前站点的列表项。

我尝试使用站点列查找字段,但它始终指向顶部站点下的列表,而不是当前站点。

关于如何使其工作或更好的替代方案的任何建议?谢谢!

让我知道我是否可以提供更多信息。

4

2 回答 2

0

我能想到的最直接的解决方案是使用跨站点查找列并为每个子站点创建单独的字段。但是,您需要为每个子站点创建和使用不同的页面布局。

您可以使用http://sp2010filteredlookup.codeplex.com/进行跨站点查找。

于 2012-08-23T05:58:12.153 回答
0

解决方案 1 - 使用http://sp2010filteredlookup.codeplex.com/

使用过滤的查找解决方案。因此,假设您有自定义页面布局和自定义页面内容类型。每次创建新子站点时,您应该记住转到页面列表设置并通过添加跨站点查找来编辑页面内容类型(使用相同的字段“内部名称”)。所以你仍然有一个页面布局(和一个内容类型)。但是对于每个 Pages 库实例,Content Type 包含差异字段(但具有相同的内部名称)。它将允许您运行 CAML 查询和其他需要的东西而不会出现任何问题。

解决方案 2 - 开发自定义共享点字段类型。

在编辑模式下,控件将呈现“下拉列表”并从当前子站点上的列表实例填充数据。在字段设置中,您可以拥有相对列表 url。

解决方案 3 - 隐藏文本字段/js 片段解决方案

页面内容类型可以包含隐藏文本字段(例如可以包含 json 格式的选定字段值)。开发将处理所有逻辑(在编辑/查看模式下呈现、保存等)的 js 片段并将其放在页面布局(aspx)上。

我建议使用解决方案#1 或#2。

于 2017-11-13T12:54:53.787 回答