纯小猫涂卡 是这样的,插件有一个这样的需求,就是插件里有一个构建 html 页面的类,并提供一个主题端的路由(比如:/router1),当请求到该路由的时候会尝试加载渲染模板 template1.html,但如果没有该模板或者模板渲染失败就会使用插件构建的 html 页面。 但尝试捕获 TemplateInputException 没能达到目的,请问有什么办法可以判断当前主题下的指定模板是否存在?或者希望可以开放相关的 api,谢谢了~
guqing 参考: https://github.com/halo-dev/halo/blob/main/application/src/main/java/run/halo/app/theme/router/ViewNameResolver.java 实现一个,在不考虑主题预览的情况下获取激活主题可以直接从查询 name 为 system 的ConfigMap 中获取不需要像 ThemeResolver 这样麻烦,其实就是得到激活主题的名字然后拼接模板路径检查文件是否存在,没有其他的办法。你可以提个 issue 让 Halo 直接提供类给插件使用来获取主题名称及判断模板是否存在,在 halo 没有提供之前先参照实现一个