Getting started with theme development

  • Structure
    • Explaining the Manifest (BaseTheme), Startup class
    • Usual folders
    • Razor vs Liquid, tag helpers
  • Code generation templates
  • Shapes
    • Notion of shapes, hierarchical rendering of shapes (demonstrate it with the call stack using the debugger, e.g. with MenuItem.cshml, also explaining shape caching)
    • The notion and use of the Layout shape, checking it out with the debugger
    • Alternates and overrides (the basic ones and examples of others like for the menu). You can ovverride TitlePart.cshtml as an example.
    • Shape templates and important view variables (e.g. Context, Title, Model, User), T-strings
    • Writing editor and display shape templates, explaining Model object usage
    • Ad-hoc shapes
  • Static resources: styles/scripts (how to include/require them) and resource manifests

Time requirement: 2h 30m

Dependencies: none

Parent topic: Theme development

This page is part of the Orchard Dojo Library!

This page and many others here are part of the open-source, portable package of Orchard Core goodies: the Orchard Dojo Library for Orchard Core. The Library is freely accessible by anyone; just go to its repository to download its full content (you can even download the textual content of the Library as a big concatenated document in HTML), file issues or fork it! You can even edit it online on Bitbucket, just click on the Edit link in the upper right corner!

Note that the Library also has an Orchard 1.x version, check it out here!