B3log 的 Solo 新增 preference 偏好设定

本贴最后更新于 2219 天前,其中的信息可能已经渤澥桑田

前言

在使用 solo 博客系统时,总会有一些像自定义添加、但是博客系统默认没有做的特性设置。这个时候需要对 solo 的 H2 或者 MySQL 数据库内部的数据、Java源码ftl模板properties配置文件 等进行一系列的修改。

本文以添加 jQuery CDN(使用 bootcss 的 CDN),替换网站本身的 jQuery,减少站点自身的流量为例,介绍如何新增特性设置。

操作步骤

确认新增偏好设定名称

假设新增偏好名称为 jQuery CDN,对应 Option 的 key 为 cdnjQueryJS,对外展现的 Label 名称为 cdnjQueryJSLabel,在数据库存储时使用的 key 值为 cdnjQueryJS

  • 步骤 1 使用数据库连接工具,修改数据库的 OPTION 表,添加需要的偏好特性 key、value 信息

注意:如果是 H2 数据库,请关闭调试环境,关闭 web 服务器。H2 单文件同时只能有一个客户端连接。

imagepng

  • 步骤 2 修改国际语言配置文件 lang_en_US/CN.properties,添加 Label 的中英文名称

imagepng

  • 步骤 3 修改 org.b3log.solo.model.Option,添加 key 值定义

  • 步骤 4 修改 updatePreference 函数

imagepng

  • 步骤 4 修改 fillBlogHeader 函数

imagepng

  • 步骤 5 修改 admin-preference.ftl,添加偏好设定的 HTML 定义

imagepng

  • 步骤 6 修改 src/main/webapp/js/admin/preference.js,对新增的属性,添加 initupdate 函数中关于特性标签的定义、声明与处理。

imagepng

imagepng


所有修改的文件如下:
imagepng

  • 步骤 7 所有文件修改后,(如果是 H2,关闭 H2 的客户端连接),重启 web 服务,登录后台查看

imagepng

  • 步骤 8 此时就可以放心的修改前段 ftl 模板,替换 jquery 的 url 链接了(js 文件内的链接暂时还没有找到替换方法)

imagepng

  • 清除浏览器缓存,F12 后刷新,查看当前 jQuery 的 URL 是否变更。

imagepng


至此,结束。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...