2

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

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

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

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

有谁知道我们该怎么做?QueryBuilder 是正确的方法吗?

4

1 回答 1

0

您可以通过将Droplink字段更改为Multilist with Search字段来完成此操作。这是一篇博文,向您展示了从存储桶中限制列表中的值的选项。

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

  1. 在树中找到代表字段的项目(在模板项目下方的字段部分项目下方)
  2. 打开视图功能区上的标准字段
  3. 在该Validation字段中输入此 RegEx:^(\{[^}]+\}\|?){0,1}$
  4. 在该Validation Text字段中输入一条消息,例如“您最多只能选择一项。

这将允许您使用带有搜索字段的多列表来选择存储桶中的单个项目。

于 2015-05-07T14:42:05.743 回答