2016-08-27 18 views
1

Мне было интересно, как мы можем динамически активировать разные темы на разных страницах. Например, на нескольких страницах будет тема-1, а на остальной части сайта будет тема-2. Пользователи не будут выбирать темы. Он должен быть установлен динамически с задней стороны.nopCommerce - активация динамической темы для разных страниц - не много магазин

Один из способов - иметь отдельные мастер-страницы.

Но возможно ли, что у нас есть две темы nopCommerce, и мы активируем любую динамически на разных страницах одного и того же магазина? Не много магазинов.

+0

Нет ничего особенного в настройке разных тем на разных страницах в nopCommerce –

+0

Ну, я не ищу никакой конфигурации. Я планирую заниматься настройкой. Но как вы применяете это и где? – Rahatur

+0

Да, если кто-нибудь из nopCommunity знает ответ. Я думаю, что это не так, чтобы публиковать сообщения на нескольких форумах. – Rahatur

ответ

3

Это должно быть возможным, выполнив следующие действия:

  1. Создать новый плагин.
  2. Скопируйте текущий класс ThemeContext, внедряя IThemeContext в ваш плагин. Используйте другое имя, чтобы избежать ошибок (see).
  3. Зарегистрируйте новый класс с помощью Autofac. Установите более высокий приоритет, чтобы новый класс заменил старый ThemeContext. Включите плагин и проверьте, работает ли он, установив там точку останова.
  4. Измените get часть свойства WorkingThemeName в своем новом классе и выполните все необходимые бизнес-правила, возвращая альтернативное название темы, если это необходимо. Вам может потребоваться доступ к текущему RouteData, чтобы получить текущий контроллер маршрута или параметры для каждого запроса HTTP.

Это все. Это проще, чем кажется.

+0

Звучит неплохо. Попробует. Просто интересно, есть ли какой-либо способ полностью выполнить работу с плагином, не изменяя ничего в nopCommerce. – Rahatur

+0

@ Rahat. Да, это работает с плагином, как указано. –

 Смежные вопросы

  • Нет связанных вопросов^_^