使用Sitecore

时间:2015-05-07 13:26:21

标签: sitecore query-builder buckets sitecore8

在我们的Sitecore应用程序中,我们有一个名为NewsArticleSlide的模板,它在旋转木马幻灯片上呈现新闻文章。此模板有一个名为“新闻文章”的字段,其中包含要呈现的新闻文章的ID。到目前为止,这个字段的类型是droplink,它非常适合从树中选择单个项目,并指定该树的根应该是什么。

现在我们决定将所有新闻文章都包含在一个名为“新闻”的文章中。问题是我们现在无法使用droplink从存储桶中选择项目,并且不存在“带搜索的droplink”字段类型。

QueryBuilder似乎是最合适的,因为它使我们能够从桶中选择单个项目。但是,当我们最初运行搜索时,会返回Sitecore中的所有内容,然后我们必须按模板过滤才能看到新闻文章。

我们想要做的是通过指定搜索的起始点来预过滤搜索,并将搜索限制为仅返回特定模板的项目。我们假设我们可以使用模板字段的Source中的参数来执行此操作,但是没有成功执行此操作。

有谁知道我们怎么做到这一点? QueryBuilder是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以通过将Droplink字段更改为Multilist with Search字段来完成此操作。 Here's a blog post向您展示了限制列表中值的选项。

现在一个关键的问题是这个字段类型是一个多选字段,但您可能只想用它来选择一个新闻文章。您可以使用RegEx强制只选择一个:

  1. 在树中查找表示该字段的项目(位于模板项目下方的字段部分项目下方)
  2. 查看功能区
  3. 上启用标准字段
  4. Validation字段中输入此RegEx:^(\{[^}]+\}\|?){0,1}$
  5. Validation Text字段中输入消息,例如“您最多只能选择1项。
  6. 这将允许您使用带搜索的多列表字段来选择存储桶中的单个项目。