通过 Sitecore8 内部 Link 字段中的扩展名将项目限制为 select

Restrict items to select by extension in Sitecore8 Internal Link Field

我在 Sitecore 8 的自定义模板中有一个内部 Link 字段。我希望用户使用 Link 字段来仅 select 一个(比如说)来自媒体图书馆。单击 "Insert Link" 时,会弹出媒体库,范围限定为我在数据源字段中设置的节点。在这里,我希望用户只能看到 PDF 文件。

是否有可能通过内部 Link 字段完成此操作?

或者也许可以通过其他方式解决该问题?我不想让自定义字段验证阻止用户保存实际项目。我宁愿用户不 selecting 字段的任何 "wrong" 文件。

提前致谢。

开箱即用,您将无法执行此操作。我现在可以想到几个选项:

  • 将字段类型更改为 treelist(或 treelistEx)并使用 Datasource=/sitecore/media library/....&IncludeTemplatesForDisplay=Pdf,media folder&IncludeTemplatesForSelection=Pdf 作为数据源 - 您的数据源将完全满足您的要求,但您的编辑将能够 select 多个 pdf(这可以通过验证进行检查,但您想避免这种情况)
  • 将字段类型更改为 droplink 并使用 query:/sitecore/media library/....//*[@@templatename='Pdf'] 作为数据源 - 现在他们只能 select 一个,但你得到的是一个简单的项目列表,可能不是那个易于合作
  • 使用数据源为 link 创建一个自定义字段类型:这需要更多的工作,但可以准确地提供您想要的内容,并且看起来它有 been done before.