我有一个树列表字段,我想将数据源设置为 3 个文件夹 p.e.:
/sitecore/Website/News/
/sitecore/Website/Events/
/sitecore/Website/Articles/
在网站项目下有更多的"文件夹"。
我已经搜索并花了几个小时尝试不同的方法,但似乎没有一种有效。
这可能吗?我需要扩展字段吗?
提前谢谢你
不久前,我写了一篇博客文章,介绍了控制多重列表和树形列表字段的数据源的不同方法(有和没有搜索(。为搜索字段列出的第三种技术是我认为您正在寻找的:
在内容树的两个或多个位置进行搜索(带搜索的字段(:
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)]
在内容树的两个或多个位置进行搜索(不带搜索的字段(:
如果您使用的是多列表字段(没有搜索(,那么我会执行以下操作:
DataSource=/path/to/source/1|/path/to/source/2
对于您的实施:
DataSource=/sitecore/website/news|/sitecore/website/events|/sitecore/website/articles
我还要补充一点,在更高版本的 Sitecore 7 中,"带搜索的树列表"字段已弃用,因此,如果这是您正在使用的字段,那么我建议更改为">带搜索的多重列表"字段。如果您使用的是标准的树状列表字段,那么 Ahmed 的答案也可能是可行的,具体取决于您的用例。
如果您有任何问题,请告诉我。祝你好运,编码愉快!:)
您可以使用 IncludeTemplatesForDisplay 参数根据模板筛选项目:
DataSource=/Sitecore/Content/Home&IncludeTemplatesForDisplay=News Folder,News,Event Folder,Event
IncludeTemplatesForDisplay 参数接受逗号分隔的模板名称,您可能还需要包含父文件夹模板名称,以便它显示在树列表中。
希望这有帮助