1

我想知道我们如何动态激活不同页面上的不同主题。例如,少数页面将具有主题 1,而站点的其余部分将具有主题 2。用户不会选择主题。它必须从后端动态设置。

一种方法是拥有单独的母版页。

但是是否有可能我们有两个 nopCommerce 主题并且我们在同一商店的不同页面上动态激活任何一个?不是多店。

4

1 回答 1

3

应该可以按照以下步骤操作:

  1. 创建一个新插件。
  2. 复制当前类ThemeContext,实现IThemeContext你的插件。使用不同的名称以避免错误(请参阅)。
  3. 使用 Autofac 注册新类。设置更高的优先级以确保新类替换旧类ThemeContext。启用插件并通过在此处设置断点来检查它是否有效。
  4. 更改新类get中的属性部分WorkingThemeName并实现您需要的任何业务规则,并在适当时返回备用主题名称。您可能需要访问 currentRouteData以获取每个 http 请求的当前路由控制器或参数。

就这样。它比看起来容易。

于 2016-08-30T00:05:59.743 回答