假设,我有一个名为 test.com 的网站,它当然有一个选定的主题。现在我有另一个名为 alpha.test.com 的租户站点,它也使用了一个主题。
但我想从 orchard 用于选择主题的代码中为 alpha.test.com 选择主题。怎么样?请帮忙。
我的另一个问题是如何为 Orchard CMS 中的不同控制器或操作选择不同的主题。
假设,我有一个名为 test.com 的网站,它当然有一个选定的主题。现在我有另一个名为 alpha.test.com 的租户站点,它也使用了一个主题。
但我想从 orchard 用于选择主题的代码中为 alpha.test.com 选择主题。怎么样?请帮忙。
我的另一个问题是如何为 Orchard CMS 中的不同控制器或操作选择不同的主题。
只需实现您自己的 IThemeSelector 并使用比默认优先级更高的优先级。建议不要更改现有的。
我认为这些链接可能会对您有所帮助:
https://orchard.codeplex.com/discussions/359115
http://weblogs.asp.net/bleroy/dynamically-switching-the-theme-in-orchard
Orchard 中没有包含已安装主题的表,但 Themes_ThemeSiteSettingsPartRecord 表仅用于存储当前主题的记录。如果我们想根据 URL 选择多个/另一个主题,那么
Ans1 & Ans2:在 Orchard.Themes/Services 中 SiteThemeSelector 类的 GetTheme 方法中指定 currentThemeName 变量和所需的安装主题名称。如果您想根据 URL 应用不同的主题,则在逻辑中设置 currentThemeName,并且 URL 可以从 context.HttpContext.Request 中检索。