在我们的Sitecore应用程序中,我们有一个名为NewsArticleSlide的模板,它在旋转木马幻灯片上呈现新闻文章。此模板有一个名为“新闻文章”的字段,其中包含要呈现的新闻文章的ID。到目前为止,这个字段的类型是droplink,它非常适合从树中选择单个项目,并指定该树的根应该是什么。
现在我们决定将所有新闻文章都包含在一个名为“新闻”的文章中。问题是我们现在无法使用droplink从存储桶中选择项目,并且不存在“带搜索的droplink”字段类型。
QueryBuilder似乎是最合适的,因为它使我们能够从桶中选择单个项目。但是,当我们最初运行搜索时,会返回Sitecore中的所有内容,然后我们必须按模板过滤才能看到新闻文章。
我们想要做的是通过指定搜索的起始点来预过滤搜索,并将搜索限制为仅返回特定模板的项目。我们假设我们可以使用模板字段的Source中的参数来执行此操作,但是没有成功执行此操作。
有谁知道我们怎么做到这一点? QueryBuilder是正确的方法吗?
答案 0 :(得分:0)
您可以通过将Droplink
字段更改为Multilist with Search
字段来完成此操作。 Here's a blog post向您展示了限制列表中值的选项。
现在一个关键的问题是这个字段类型是一个多选字段,但您可能只想用它来选择一个新闻文章。您可以使用RegEx强制只选择一个:
Validation
字段中输入此RegEx:^(\{[^}]+\}\|?){0,1}$
Validation Text
字段中输入消息,例如“您最多只能选择1项。”这将允许您使用带搜索的多列表字段来选择存储桶中的单个项目。