You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Moodle 4.15 Boost主题全局字体修改失败求助

解决Moodle 4.15全局字体修改无效的问题

问题根源

直接修改/theme/boost/scss/bootstrap/_reboot.scss属于错误操作:

  • Moodle的Boost主题会优先加载预编译的Bootstrap资源,你手动添加的@font-face大概率会被覆盖或因加载顺序问题不生效
  • 直接修改主题核心文件会在Moodle升级时被完全覆盖,无法保留自定义配置

正确修改步骤

1. 创建自定义子主题(官方推荐的持久化方案)

不要直接改动Boost主题本身,基于它创建子主题是Moodle官方认可的自定义方式:

  • 复制/theme/boost文件夹,重命名为/theme/yourcustomtheme
  • 修改子主题目录下的config.php,将$THEME->name = 'boost';改为$THEME->name = 'yourcustomtheme';,保持$THEME->parents = ['boost'];不变,同时更新主题描述等标识信息

2. 放置字体文件

将你的字体文件(优先用.woff2、.woff格式)放在子主题的fonts目录下(没有就新建),比如/theme/yourcustomtheme/fonts/

3. 配置自定义SCSS

在子主题的scss目录下新建custom.scss(或修改已有的extra.scss),添加以下代码:

@font-face {
    font-family: 'YourCustomFont';
    src: url('../fonts/yourfont.woff2') format('woff2'),
         url('../fonts/yourfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* 覆盖全局所有文本元素的字体 */
body, button, input, select, textarea,
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
    font-family: 'YourCustomFont', sans-serif !important;
}

4. 清除缓存确保生效

  • 登录Moodle后台,进入「站点管理」→「开发」→「清除缓存」
  • 同时强制刷新浏览器缓存(快捷键Ctrl+Shift+R)

5. 排查加载报错的常见原因

  • 字体文件权限:确保服务器能读取字体文件,将文件权限设为644,目录权限设为755
  • 路径错误:SCSS中的../fonts/是相对于SCSS文件的相对路径,核对实际文件存放位置是否匹配
  • 格式兼容性:优先使用woff2格式,配合woff做降级,避免使用老旧的ttf/otf格式导致加载失败

临时替代方案(无需创建子主题)

如果只是临时测试,可通过主题设置直接添加自定义代码:

  • 进入「站点管理」→「外观」→「主题」→「Boost」→「高级设置」
  • 在「Raw SCSS」输入框中添加@font-face和全局字体覆盖代码,注意这里要使用绝对路径,比如/theme/boost/fonts/yourfont.woff2

内容的提问来源于stack exchange,提问作者Loknitro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:44:59