Sitecore 将bucket用作droplink/tree字段的数据源

Sitecore 将bucket用作droplink/tree字段的数据源,sitecore,sitecore7,sitecore7.2,Sitecore,Sitecore7,Sitecore7.2,我正在尝试使内容编辑器能够选择驻留在droplink字段中的bucket中的项目,但找不到启用此功能的字段类型/数据源 我需要允许用户选择一个项目(因此不是一个多列表),项目在一个bucket中,因为项目的数量可能很大,搜索api对编辑器最有帮助 是否有一个字段或数据源查询可以使查找字段选择单个带扣的项目?最简单的解决方案是使用带有搜索字段的Sitecore多列表 首先,您需要设置字段的源以显示特定模板的bucket中的项目 示例:StartSearchLocation={11111111-11

我正在尝试使内容编辑器能够选择驻留在droplink字段中的bucket中的项目,但找不到启用此功能的字段类型/数据源

我需要允许用户选择一个项目(因此不是一个多列表),项目在一个bucket中,因为项目的数量可能很大,搜索api对编辑器最有帮助


是否有一个字段或数据源查询可以使查找字段选择单个带扣的项目?

最简单的解决方案是使用带有搜索字段的Sitecore多列表

首先,您需要设置字段的源以显示特定模板的bucket中的项目

示例:StartSearchLocation={11111111-1111-1111-1111-1111-111111}&Filter=+\u templatename:示例项

下面是一篇介绍如何设置字段源的文章:

如果需要将选择限制为一项,则还需要应用一些正则表达式。要实现这一点,需要在“视图”选项卡中启用标准值,以便可以更改数据部分

在数据部分添加以下正则表达式:^({[^}]+}\|?){0,1}$并添加一些验证文本

例如:


本文提供了其他信息:

为了防止其他人像我一样遇到这种情况,您还可以使用source字段中的查询来过滤droplink中的项目

query:/sitecore/content/Home/YourBucket//*[@@templateid='{your-template-guid}']
您也可以使用
@@templatename='您的模板名'


请记住,除非您的带扣项目数量不多(出于某种原因),否则建议的答案可能会更好,因为它提供搜索功能,并且不会创建大量的项目下拉列表。

我为此创建了一些自定义字段:

它为您提供了与在bucket中搜索时通常获得的相同的丰富搜索界面