1

我有一个树列表字段,我想将数据源设置为 3 个文件夹 pe:

/sitecore/Website/News/
/sitecore/Website/Events/
/sitecore/Website/Articles/

在网站项目下有更多“文件夹”。

我已经搜索并花了几个小时尝试不同的方法,但似乎都没有奏效。

这可能吗?我需要扩展字段吗?

先感谢您

4

2 回答 2

5

不久前,我写了一篇博客文章,介绍了控制多列表和树列表字段的数据源的不同方式(有和没有搜索)。我认为您正在寻找的为搜索字段列出的第三种技术是:

在内容树的两个或多个位置搜索(带搜索的字段):

StartSearchLocation={110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}&Filter=_path:110d559fdea542ea9c1c8a5df7e70ef9|_path:3d6658d8a0bf4e75b3e2d050fabcf4e1


对于您的实施:

StartSearchLocation={Website.ID}&Filter=_path:[News.ID (guid form; no brackets)]|_path:[Events.ID (guid form; no brackets)]|_path:[Articles.ID (guid form; no brackets)]


在内容树的两个或多个位置搜索(没有搜索的字段):

如果您使用的是 Multilist 字段(没有搜索),那么我将执行以下操作:

DataSource=/path/to/source/1|/path/to/source/2


对于您的实施:

DataSource=/sitecore/website/news|/sitecore/website/events|/sitecore/website/articles


我还要补充一点,在 Sitecore 7 的更高版本中已弃用Treelist with Search字段,因此如果这是您正在使用的字段,那么我建议更改为Multilist with Search字段。如果您使用的是标准Treelist字段,那么 Ahmed 的答案也可能是可行的,具体取决于您的用例。

如果您有任何问题,请告诉我。祝你好运,编码愉快!:)

于 2014-12-05T14:35:47.133 回答
3

您可以使用IncludeTemplatesForDisplay参数根据模板过滤项目:

DataSource=/Sitecore/Content/Home&IncludeTemplatesForDisplay=News Folder,News,Event Folder,Event

IncludeTemplatesForDisplay参数接受逗号分隔的模板名称,您可能还需要包含父文件夹模板名称,以便它出现在树列表中。

希望这可以帮助

于 2014-12-05T10:27:52.307 回答