类别:技术积累 / 日期:2024-12-15 / 浏览:1868 / 评论:0

        Orchard Core包含两种不同类型的目的:

  • Orchard Core Framework:基于ASP.NET Core的、构建模块化和多租户的应用程序框架,旨在开发SaaS应用,托管DLL名为OrchardCore.Application.Cms.Core.Targets。

  • Orchard Core CMS:基于Orchard Core Framework开发的完整网站内容管理系统(CMS),托管DLL名为OrchardCore.Application.Cms.Targets。

        其中Orchard Core Framework(OrchardCore.Application.Cms.Core.Targets)不包含任何前台主题,只包含TheAdmin主题和Blank site、Headless site两个配方,仅用于以下情形:

  • 开发Decoupled CMS;

  • 开发Headless CMS;

  • 从零开发一个带主题的站点。

        而Orchard Core CMS(OrchardCore.Application.Cms.Targets)包含3种不同的建站策略:

  • Full CMS:该模式使用一个主题和多个模板来渲染内容,主要面向创建一个几乎不需要开发的、包含前后台的完整CMS系统。

  • Decoupled CMS:该模式默认无前台模板,仅包含后台。需要使用Razor Pages或MVC Actions创建所有前台模板,并使用内容服务获取具体内容。

  • Headless CMS. 该模式仅含管理内容的后台,需要创建另一个独立的前台应用,并使用GraphQL或者REST APIs获取所有托管内容。

        本文以引用OrchardCore.Application.Cms.Targets创建一个CMS为例。

1、在VS中新建一个ASP.NET Core Empty项目:

1.png

2、为项目取一个名称:

2.png

        取消勾选“Place solution and project in the same directory”是为了后续创建模块或主题时放在各自的子目录中。

3、右键单击项目名称,选择“Manage NuGet Packages...”打开Nuget Package Manager添加“OrchardCore.Application.Cms.Targets”。

1.png

4、修改Program.cs

(1)若有以下代码先去掉:

builder.Services.AddRazorPages();
app.MapGet("/", () => "Hello World!");

        添加以下代码:

builder.Services.AddOrchardCms();

(2)若有以下代码也去掉:

app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();

        添加以下代码:

app.UseOrchardCore();

5、F5运行,浏览器打开。

1.png

        选择相应的配方(Recipe)则启用对应的建站策略:

  • Orchard Core Framework:Software as a Service;

  • Full CMS:Agency、Blog、Coming Soon;

  • Decoupled CMS:Blank site;

  • Headless CMS:Headless site。

        参考资料:https://docs.orchardcore.net/


 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。