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

如何利用CoreMainMenuHomeDelegate移除Moodle Mobile的Site Home标签?

关于通过CoreMainMenuHomeDelegate移除Site Home标签的问题

首先明确:CoreMainMenuHomeDelegate本身无法直接移除Site Home标签——这个Delegate的设计定位就是用来向首页菜单添加自定义项,没有提供修改或删除原有系统菜单项的接口。

不过可以通过Moodle Mobile的钩子(Hook)机制实现移除,具体操作步骤如下:

  • 搭建自定义Moodle Mobile插件项目,按照官方插件开发规范初始化基础结构
  • 在插件的核心逻辑文件(比如main.js)中,使用core.mainmenu.home.items钩子拦截首页菜单项数组:
    import { addHook } from '@core/utils/hooks';
    
    addHook('core.mainmenu.home.items', (items) => {
        // 过滤掉标识为'sitehome'的Site Home项
        return items.filter(item => item.type !== 'sitehome');
    });
    
  • 打包插件并部署到你的Moodle站点,在移动端应用中启用该插件后,Site Home标签就会被移除

需要注意:Site Home的标识可能因Moodle版本略有差异,如果上述代码不生效,可以打印items数组查看具体的标识字段(比如component或name),调整过滤条件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:05:01