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

如何自定义Moodle邮件内容:屏蔽私信与论坛帖邮件详情

解决Moodle私信/论坛帖邮件简化显示的方法

一、原理说明

Moodle的邮件通知由**消息组件(component)+ 消息类型(message type)对应模板和语言字符串控制,直接修改核心文件会被系统升级覆盖,推荐用主题覆盖(Theme Override)**的方式,既能实现定制需求又不影响后续升级。

二、具体操作步骤

1. 准备主题覆盖目录

假设你使用默认的boost主题,在Moodle服务器的主题目录下创建对应模板路径:

  • 私信模板路径:theme/boost/templates/message/output/email/core_message/
  • 论坛帖模板路径:theme/boost/templates/message/output/email/mod_forum/
    如果目录不存在,手动创建即可。

2. 创建自定义邮件正文模板

  • 私信邮件:在上述私信路径下新建instantmessage.mustache文件,内容仅写:
    您有新消息
    
  • 论坛帖邮件:针对需要简化的论坛消息类型(比如新帖子postcreated、新话题discussioncreated等),在论坛路径下新建对应模板文件,比如postcreated.mustache,内容同样仅写:
    您有新消息
    
    (如果需要覆盖多种论坛消息类型,重复此步骤创建对应文件即可)

3. 自定义邮件主题(可选)

如果希望邮件主题也显示“您有新消息”,同时避免影响站内消息标题,可通过主题覆盖语言字符串:
在theme/boost/lang/zh_cn/theme_boost.php文件中添加以下内容(文件不存在则新建):

<?php
$string['message:instantmessage_subject'] = '您有新消息';
$string['mod_forum:postcreated_subject'] = '您有新消息';
$string['mod_forum:discussioncreated_subject'] = '您有新消息';
// 可根据需要添加更多论坛消息类型的主题覆盖

4. 清除Moodle缓存

修改完成后,登录Moodle后台,进入站点管理 -> 开发 -> 清除缓存,确保新模板和语言字符串生效。

三、注意事项

  • 此方法仅修改指定类型的邮件通知,其他邮件(如课程申请通知)的模板和内容保持默认,不会受影响。
  • 若后续更换主题,需要在新主题下重复上述操作,或者将自定义模板迁移到新主题目录。
  • 不要直接修改Moodle核心或插件的原始文件,否则系统升级时会被覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:22:16