mirror of https://github.com/halo-dev/halo
:✨ 添加主题名接口,模板可直接调用
parent
fa5867ed0e
commit
031c0acd5c
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Reference in New Issue