Piranha cms 自动在页面类型生成器中添加页面

Piranha cms automatically add pages in page type builder

我在我的一个项目中使用 Piranha cms。

我正在寻找一种解决方案来自动将我所有的页面类型添加到页面类型生成器。

此时我的启动配置方法如下所示:

var pageTypeBuilder = new Piranha.AttributeBuilder.PageTypeBuilder(api)
                .AddType(typeof(Models.BlogArchive))
                .AddType(typeof(Models.StandardPage))
                .AddType(typeof(Models.StartPage))
                .AddType(typeof(Models.RegisterPage))
                .AddType(typeof(Models.ApprovePage))
                .AddType(typeof(Models.LoginPage))
                .AddType(typeof(Models.MyOfferListPage))
                .AddType(typeof(Models.OfferListPage))
                .AddType(typeof(Models.OfferDetailPage))
                .AddType(typeof(Models.OfferCreatedPage))
                .AddType(typeof(Models.OfferAcceptPage))
                .AddType(typeof(Models.BooksPage))
                .AddType(typeof(Models.PropertyPage))
                .AddType(typeof(Models.PropertyListPage))
                .AddType(typeof(Models.MyBidsPage))
                .AddType(typeof(Models.AgendaPage))
                .AddType(typeof(Models.ProfilePage))
                .AddType(typeof(Models.CheckoutPage))
                .AddType(typeof(Models.BidCreatedPage))
                .AddType(typeof(Models.ForgotPasswordPage))
                .AddType(typeof(Models.ContactPage));
            pageTypeBuilder.Build()

如果可能的话,我想减少它。 有人可以帮助我吗?

是的!如果您有最新版本的 Piranha,您现在可以执行以下操作。

new ContentTypeBuilder(api)
  .AddAssembly(typeof(Startup).Assembly)
  .Build();

这将在指定的程序集中导入 所有 可用的内容类型。此外,如果您在多个程序集中有内容类型,您可以像 AddType.

一样在彼此之后添加几个 AddAssembly

此致