在我们的Sitecore应用程序中,我们有一个名为NewsArticleSlide的模板,该模板可在轮播幻灯片上呈现新闻文章。该模板具有一个称为“新闻文章”的字段,其中包含要呈现的新闻文章的ID。到目前为止,该字段的类型一直是droplink,它非常适合从树中选择单个项目,并指定该树的根应该是什么。
现在,我们决定将所有新闻文章包含在一个称为“新闻”的存储桶中。问题是我们现在不能使用droplink从存储桶中选择项目,并且不存在“带有搜索的droplink”字段类型。
QueryBuilder似乎最合适,因为它使我们能够从存储桶中选择单个项目。但是,当我们最初运行搜索时,将返回Sitecore中的所有内容,然后我们必须按模板进行过滤以仅查看新闻文章。
我们想要做的是通过指定搜索起点并将搜索范围限制为仅返回特定模板的项目来对搜索进行预过滤。我们假定可以使用模板字段“源”中的参数来执行此操作,但是这样做没有成功。
有谁知道我们该怎么做?QueryBuilder是正确的方法吗?
您可以通过将Droplink
字段更改为一个Multilist with Search
字段来完成此操作。这是一篇博客文章,向您显示用于限制存储桶列表中值的选项。
现在,这里的关键一件事是该字段类型是多选字段,但是您可能只想使用它来选择单个新闻文章。您可以使用RegEx强制仅执行一个选择:
Validation
字段中输入此RegEx:^(\{[^}]+\}\|?){0,1}$
Validation Text
字段中输入消息,例如“您最多只能选择一项。 ”这将允许您使用“带搜索的多列表”字段来选择存储桶中的单个项目。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句