提问人:vladver 提问时间:12/17/2021 最后编辑:vladver 更新时间:6/3/2022 访问量:129
Piranha CMS:内容类型的基类
Piranha CMS: base class for content types
问:
我有几种类型的页面。但它们具有相同的设置区域。 问题如下。是否可以为继承组织定义具有公共区域的基类?以免在不同的类中手动定义相同的事物。
没有人想过吗?假设我有 4 种内容类型的页面。但是,例如,出于某种目的,它们都有一个 StringField。现在,必须在每个页面类中声明此字段,而不是为所有这些类型创建基类。Piranha 使用中间 GenericPage 类来组织继承。我不明白如何实现内容类型的基类。或者我不知道什么。
答:
0赞
Frederick
6/3/2022
#1
您可以只使用普通的 c# 继承。
我的基类
public class PageBase : Page<PageBase>
{
public class CoverRegion
{
[Field]
public StringField CoverText { get; set; }
[Field]
public ImageField CoverImg { get; set; }
}
[Region]
public CoverRegion Cover { get; set; }
}
然后是继承的类
[PageType(Title = "Inherited Content")]
[ContentTypeRoute(Title = "Default", Route = "page-content")]
public class PageContent : PageBase
{
[Region]
public StringField Header { get; set; }
}
请记住,一个区域不能只包含一个属性,必须包含多个属性。如果只有一个属性,则在属性上设置区域属性,而不是字段
评论