NopCommerce架构分析之(七)主题Theme皮肤管理器

502 查看

IThemeContext:皮肤上下文,支持桌面皮肤和移动段皮肤。其实体类为:ThemeContext;

IThemeProvider:皮肤提供者,其实体类为ThemeProvider;皮肤提供者从皮肤配置文件中解析配置项,加载系统提供的所有皮肤方案,系统默认提供桌面干净皮肤(~/Themes/DefaultClean)和移动端皮肤(~/Themes/Mobile)。ThemeConfiguration是对theme.config数据的解析对象。

IThemeContext从IThemeProvider中获取解析的配置方案。

上节我们讲到自定义视图引擎,从视图引擎的名字(ThemeableRazorViewEngine)上可以知晓,它实现了对皮肤的自动加载功能。

视图引擎从IThemeContext中获取当前的皮肤,并解析加载。