Creating a custom admin theme

A custom Admin Theme may be created for Orchard Core.

The default admin theme for Orchard Core is called TheAdmin

What you will build

You will build a custom theme which uses TheAdmin as a base theme.

What you will need

  • An existing Orchard Core website that has already been setup.

Creating an Orchard Core Theme

Create a Orchard Core Theme following the Create a theme guide.

Edit the Manifest.cs

In the root folder of your theme there will be a file called Manifest.cs

Edit this file

using OrchardCore.DisplayManagement.Manifest;

[assembly: Theme(
    Name = "MyAdminTheme",
    Author = "My name",
    Website = "https://mywebsite.net",
    Version = "0.0.1",
    Description = "My Orchard Core Admin theme.",
    Tags = new [] { "admin" },
    BaseTheme = "TheAdmin"
)]

Add the property Tags = new [] { "admin" } and the property BaseTheme = "TheAdmin"

The tag allows the theme to be selected as an admin theme.

The BaseTheme property means that when the custom admin theme is active Orchard Core Display Management will search both TheAdmin theme and MyAdminTheme for template alternates when displaying admin content.

Views in MyAdminTheme will override views in TheAdmin.

Enabling your custom admin theme.

From the root of the folder containing both projects, run this command:

dotnet run --project .\MySite\MySite.csproj

Note

If you are using the development branch of the templates, run dotnet restore .\MySite\MySite.csproj --source https://www.myget.org/F/orchardcore-preview/api/v3/index.json before running the application

Your application should now be running and contain the open ports:

Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

Open a browser on https://localhost:5001

Enter the Admin section by opening https://localhost:5001/admin and logging in.

Using the left menu go to Design -> Themes, search for your theme, MyAdminTheme, and select Make Current.

Now your admin theme is enabled.

From here you can create templates, or use placement.json to alter shapes rendered in the admin.

Summary

You just learned how to create a custom admin theme.


Last update: February 24, 2020