I see there are views defined in all sorts of places, such as:
- ~/Dinamico/Themes/Default/Views/ContentPages/XXX.cshtml
- ~/Dinamico/Themes/Default/Views/ContentParts/XXX.cshtml
but then there are also some things in a Shared folder e.g.
- ~/Dinamico/Themes/Default/Views/Shared/
If for example I define a part such as this:
[PartDefinition()] [RestrictChildren(typeof(foo))] [AvailableZone("Content", "Content")] public class CustomPart : PartModelBase { ... }
The template-first system of defining content assumes the location [ThemeRoot]/Default/Views/[Controller]/*.cshtml where [ThemeRoot] and [Controller] is configurable during startup.
We could add that it automatically scans /Views/[Controller]/*.cshtml, or make this configurable during configuration.
The per-theme thing is quite interesting. I pulled out of that due to complexity the last time around. I think the main question is whether the main scenario is people extending via themes without change to existing code or taking ownership of the site.