我正在使用ISiteThemeService
服务:
_themeManager.SetSiteTheme("MyTheme");
但由于某种原因,主题(The Theme MAchine)仍在激活,其中没有样式表。
编辑:当我重新启动Orchard时,主题已成功激活。
这是否意味着每次设置主题作为当前主题时我都必须重新启动Orchard?
如果是这样我怎么能动态地做呢? (重申乌节)。
答案 0 :(得分:0)
您还需要注入IThemeService
并致电:
_themeService.EnableThemeFeatures("MyTheme");
顺便说一下,你在SO和GitHub上的问题的一般主题表明你正在做很多自动设置的租户,你可能想看看Recipes。
答案 1 :(得分:0)
要实现的正确接口可能是IThemeSelector
(请参阅https://github.com/OrchardCMS/Orchard/blob/6720b71cf3474a9a7b8a8cc9a99d58b1e733acfa/src/Orchard/Themes/IThemeSelector.cs)。
ThemeService
的作用是管理可用的主题,但IThemeSelector
的实现决定了每个请求使用哪个主题。