如何检索 Glass 模型中的字段集合?
How to retrieve a collection of fields in Glass model?
是否可以检索字段集合作为映射玻璃模型的 属性?例如,我在 Sitecore 中有一个 "Product" 项目,其中包含一组自定义 "Product Attribute" 字段。我希望能够将这些字段作为一个集合进行访问,我可以通过这些集合进行枚举,而无需在我的玻璃模型中明确命名这些字段。这样我就可以添加更多属性并在代码中枚举它们,而无需更改玻璃模型代码。
类似于以下内容:
[SitecoreInfo(SitecoreInfoType.Fields)]
public virtual IEnumerable<something> Attributes { get; set; }
非常感谢。
你实际上需要
[SitecoreInfo(SitecoreInfoType.Fields(Filters = "*.customAttributes", Order ="..."))]
因为您必须定义集合的顺序以及如何识别要包含在集合中的项目的方法。最好不要这样做,寻找更清洁的解决方案。
例如,您可以将产品属性指定为子项,或者只为产品属性提供真实名称并在 sublayout/view 中引用它们。
没有更多细节,听起来您可能想通过 AbstractSitecoreFieldMapper
为您的自定义类型实现 Glass Mapper data handler。
是否可以检索字段集合作为映射玻璃模型的 属性?例如,我在 Sitecore 中有一个 "Product" 项目,其中包含一组自定义 "Product Attribute" 字段。我希望能够将这些字段作为一个集合进行访问,我可以通过这些集合进行枚举,而无需在我的玻璃模型中明确命名这些字段。这样我就可以添加更多属性并在代码中枚举它们,而无需更改玻璃模型代码。
类似于以下内容:
[SitecoreInfo(SitecoreInfoType.Fields)]
public virtual IEnumerable<something> Attributes { get; set; }
非常感谢。
你实际上需要
[SitecoreInfo(SitecoreInfoType.Fields(Filters = "*.customAttributes", Order ="..."))]
因为您必须定义集合的顺序以及如何识别要包含在集合中的项目的方法。最好不要这样做,寻找更清洁的解决方案。
例如,您可以将产品属性指定为子项,或者只为产品属性提供真实名称并在 sublayout/view 中引用它们。
没有更多细节,听起来您可能想通过 AbstractSitecoreFieldMapper
为您的自定义类型实现 Glass Mapper data handler。