From 031c0acd5cdf9a27108cde08883d2f1732140a00 Mon Sep 17 00:00:00 2001 From: ruibaby Date: Sat, 22 Sep 2018 21:30:57 +0800 Subject: [PATCH] =?UTF-8?q?::sparkles:=20=E6=B7=BB=E5=8A=A0=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E5=90=8D=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=8F=AF=E7=9B=B4=E6=8E=A5=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cc/ryanc/halo/config/FreeMarkerConfig.java | 3 +++ .../java/cc/ryanc/halo/model/tag/CommonTagDirective.java | 5 +++++ .../cc/ryanc/halo/web/controller/admin/ThemeController.java | 2 ++ 3 files changed, 10 insertions(+) diff --git a/src/main/java/cc/ryanc/halo/config/FreeMarkerConfig.java b/src/main/java/cc/ryanc/halo/config/FreeMarkerConfig.java index 21a8167ec..72e17174d 100644 --- a/src/main/java/cc/ryanc/halo/config/FreeMarkerConfig.java +++ b/src/main/java/cc/ryanc/halo/config/FreeMarkerConfig.java @@ -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()); } diff --git a/src/main/java/cc/ryanc/halo/model/tag/CommonTagDirective.java b/src/main/java/cc/ryanc/halo/model/tag/CommonTagDirective.java index e6802e5d2..50576c876 100644 --- a/src/main/java/cc/ryanc/halo/model/tag/CommonTagDirective.java +++ b/src/main/java/cc/ryanc/halo/model/tag/CommonTagDirective.java @@ -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; } diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/ThemeController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/ThemeController.java index ee7d0e9d7..2d782d939 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/ThemeController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/ThemeController.java @@ -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())