我有一个treelist字段,我想将数据源设置为3个文件夹p.e。:
/sitecore/Website/News/
/sitecore/Website/Events/
/sitecore/Website/Articles/
在网站项下有更多“文件夹”。
我已经搜索并花了几个小时尝试不同的方法,但似乎都没有。
这可能吗?我需要扩展这个领域吗?
提前谢谢
答案 0 :(得分:5)
前段时间我写了blog post关于你可以控制多列表和treelist字段的数据源(有和没有搜索)的不同方法。为搜索字段列出的第三种技术是我认为您正在寻找的:
在内容树的两个或多个位置搜索(带搜索的字段):
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
我还要补充说, Treelist with Search 字段已在Sitecore 7的更高版本中弃用,因此,如果这是您正在使用的字段,那么我建议您更改为 Multilist搜索字段。如果您使用标准的 Treelist 字段,那么Ahmed的答案也可能是可行的,具体取决于您的使用案例。
如果您有任何疑问,请与我们联系。祝你好运,编码愉快! :)
答案 1 :(得分:3)
您可以使用 IncludeTemplatesForDisplay 参数根据模板过滤项目:
DataSource=/Sitecore/Content/Home&IncludeTemplatesForDisplay=News Folder,News,Event Folder,Event
IncludeTemplatesForDisplay 参数接受逗号分隔的模板名称,您可能还需要包含父文件夹模板名称,以便它显示在树形图中。
希望这有帮助