Umbraco - 按类型获取房产

时间:2015-10-24 11:46:58

标签: umbraco

我是Umbraco的新手,所以这甚至可能都不可行。我使用Archetype创建了自己的数据类型,并且希望能够按类型而不是别名在页面上获取该类型的实例。 我知道我可以做到以下几点:

model.Content.GetPropertyValue("myAlias")

但我想知道按类型获取财产是否可行。有点像:

model.Content.GetPropertiesByType("TypeName")

会返回该类型页面上的控件列表吗?

这可行吗?

2 个答案:

答案 0 :(得分:0)

这是可能的,但并不完全是直截了当。

查看可用的Umbraco数据服务 - 您需要从DataTypeService检索DataTypeDefinitions并使用{{检索模型的IPublishedContent ContentType 1}}。

获得这些内容后,您可以根据ContentTypeService {{1}将PropertyTypes上的ContentType与检索到的DataTypeDefionitions进行匹配}。

PropertyType具有DataTypeDefinitionId属性,该属性将与内容本身的属性别名相匹配。

答案 1 :(得分:0)

如果在编辑/创建数据类型时获得了试图从url中找到倍数的数据类型的id,则可以使用内容服务。

   @foreach (var p in ApplicationContext.Current.Services.ContentService.GetById(Model.Content.Id).PropertyTypes.Where(p => p.DataTypeDefinitionId == -89))
        {
            <p>@p.DataTypeDefinitionId</p>
        }