: 添加主题名接口,模板可直接调用

pull/33/merge
ruibaby 2018-09-22 21:30:57 +08:00
parent fa5867ed0e
commit 031c0acd5c
3 changed files with 10 additions and 0 deletions

View File

@ -1,5 +1,7 @@
package cc.ryanc.halo.config;
import cc.ryanc.halo.model.dto.HaloConst;
import cc.ryanc.halo.model.enums.BlogPropertiesEnum;
import cc.ryanc.halo.model.tag.ArticleTagDirective;
import cc.ryanc.halo.model.tag.CommonTagDirective;
import cc.ryanc.halo.service.OptionsService;
@ -46,6 +48,7 @@ public class FreeMarkerConfig {
configuration.setSharedVariable("articleTag", articleTagDirective);
configuration.setSharedVariable("options", optionsService.findAllOptions());
configuration.setSharedVariable("user", userService.findUser());
configuration.setSharedVariable("themeName", HaloConst.OPTIONS.get(BlogPropertiesEnum.THEME.getProp()));
} catch (TemplateModelException e) {
log.error("自定义标签加载失败:{}", e.getMessage());
}

View File

@ -1,5 +1,7 @@
package cc.ryanc.halo.model.tag;
import cc.ryanc.halo.model.dto.HaloConst;
import cc.ryanc.halo.model.enums.BlogPropertiesEnum;
import cc.ryanc.halo.service.*;
import freemarker.core.Environment;
import freemarker.template.*;
@ -58,6 +60,9 @@ public class CommonTagDirective implements TemplateDirectiveModel {
case "newComments":
environment.setVariable("newComments", builder.build().wrap(commentService.findAllComments(1)));
break;
case "themeName":
environment.setVariable("themeName", builder.build().wrap(HaloConst.OPTIONS.get(BlogPropertiesEnum.THEME.getProp())));
break;
default:
break;
}

View File

@ -90,6 +90,8 @@ public class ThemeController extends BaseController {
optionsService.saveOption(BlogPropertiesEnum.THEME.getProp(), siteTheme);
//设置主题
BaseController.THEME = siteTheme;
HaloConst.OPTIONS.clear();
HaloConst.OPTIONS = optionsService.findAllOptions();
log.info("已将主题改变为:{}", siteTheme);
logsService.saveByLogs(
new Logs(LogsRecord.CHANGE_THEME, "更换为" + siteTheme, ServletUtil.getClientIP(request), DateUtil.date())