我的文档类型 Page 继承自父文档类型 Page Base 。
在呈现的页面上,我可以看到文档类型是否等于页面文档类型别名:
// Where Model is type Umbraco.Web.Models.RenderModel.
if (Model.Content.DocumentTypeAlias == "page")
{
// My current page uses the "page" document type.
}
但是,如何查看我的IPublishedContent
是否继承自 Page Base ?
答案 0 :(得分:1)
原来在IPublishedContent
类型上有一种方法:
// Where Model is type Umbraco.Web.Models.RenderModel.
if (Model.Content.IsDocumentType("pageBase", true))
{
// My current page uses the "pageBase" document type.
}
接受布尔值的.IsDocumentType()
上的重载称为recursive
,它会检查您的IPublishedContent
是提供的文档类型,还是从该文档类型派生的。 / p>
如果您的文档类型存储在文件夹中,则存在使用递归.IsDocumentType()
的错误。此问题已记录here。
相反,您可以使用.IsComposedOf()
:
// Where Model is type Umbraco.Web.Models.RenderModel.
if (Model.Content.IsComposedOf("pageBase"))
{
// My current page uses the "pageBase" document type.
}
此方法都检查文档类型组成和继承。
此方法与递归.IsDocumentType()
不同,因为它只检查继承/组合,而不是当前的doc类型是提供的别名。