【问题标题】:Umbraco - property as collection of IPublishedContentUmbraco - 作为 IPublishedContent 集合的属性
【发布时间】:2025-11-22 21:05:01
【问题描述】:

我正在使用具有 IPublishedContent 集合作为属性的 umbraco 文档类型。这在视图中表现为一个字符串,它是对象键的 CSV,然后我必须使用内容帮助器解析和查找基础值。

 by @foreach (var author in Umbraco.Content(story.GetPropertyValue<string>("author").Split(',')))
   {
      @author.Name 
   }

作为一名 MVC 开发人员,这感觉很不对劲。我错过了更好的方法吗?理想情况下,Umbraco 应该知道这些实际上是内容项并映射它们,类似于 ORM 中的导航属性。

很乐意使用强类型方法,但除了将所有内容分解为子操作之外,我找不到太多文档。

【问题讨论】:

  • 我也是这样做的,umbraco helpers 里面可能有东西。但归根结底,存储的数据实际上只是一个 CSV 文件。但是如果我们可以 GetPropertyValue>("author")! 那就太好了

标签: razor umbraco umbraco7


【解决方案1】:

作为一名 MVC 开发人员,您应该查看Property Editor Value Converters (documentation),它允许您执行story.GetPropertyValue&lt;List&lt;IPublishedContent&gt;&gt;("myAlias")

.GetPropertyValue() 方法将使用适当的值转换器。

如果您使用的是 v7,它们被称为“属性值转换器”,但工作方式相同。

确保如果开发一个值转换器来使用 ContentCache(并且不依赖 uQuery 或 Services,因为它们会触发数据库查询)。

【讨论】: