nopCommerce - 针对不同页面的动态主题激活 - 不是多商店

时间:2016-08-27 19:30:34

标签: nopcommerce nopcommerce-themes

我想知道如何动态激活不同页面上的不同主题。 例如,几个页面将具有主题-1,并且该网站的其余部分将具有主题-2。用户不会选择主题。它必须从后端动态设置。

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

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

1 个答案:

答案 0 :(得分:3)

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

  1. 创建一个新插件。
  2. 将当前的课程ThemeContext复制到您的插件中,实施IThemeContext。使用其他名称可以避免错误(see)。
  3. 使用Autofac注册新课程。设置更高的优先级以确保新类替换旧的ThemeContext。启用插件并通过在那里设置断点来检查它是否有效。
  4. 更改新课程中属性get的{​​{1}}部分并实施您需要的所有业务规则,并在适当时返回备用主题名称。您可能需要访问当前WorkingThemeName以获取每个http请求的当前路由控制器或参数。
  5. 这就是全部。它比它看起来容易。