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

Drupal 10自定义模块Controller与路由配置导致404问题求助

问题解决:Drupal 10自定义模块404错误及代码格式修复

一、代码块格式混乱的解决方法

要让代码正常显示为代码块,需严格遵循以下规则:

  • 每个代码块单独用+对应语言标识(如`php`、`yaml`)开头,结尾
  • 代码内容保持完整结构,避免只粘贴片段
  • 确保代码前后无多余空格或换行干扰标记识别

二、自定义模块404错误的修复步骤

1. 修正Controller代码(路径:modules/custom/mymodule/src/Controller/FirstController.php)

你提供的Controller代码缺少命名空间、类定义和方法结构,且存在语法错误,修正后完整代码如下:

<?php

namespace Drupal\mymodule\Controller;

use Drupal\Core\Controller\ControllerBase;

/**
 * 提供简单内容的控制器类
 */
class FirstController extends ControllerBase {

  /**
   * 返回自定义内容的方法
   */
  public function simpleContent() {
    return [
      '#markup' => $this->t('Hello Drupal World. Time flies like an arrow, fruit flies like a banana.'),
    ];
  }

}

2. 修正路由代码(路径:modules/custom/mymodule/mymodule.routing.yml)

你的路由文件存在引号未闭合、缩进错误的问题,修正后代码:

mymodule.simplecontent:
  path: '/mycustompath'
  defaults:
    _controller: 'Drupal\mymodule\Controller\FirstController::simpleContent'
    _title: 'Simplicity is the ultimate sophistication'
  requirements:
    _permission: 'access content'

3. 确保模块基础配置完整

模块根目录下必须存在mymodule.info.yml文件,内容示例:

name: '我的自定义模块'
type: module
description: '用于学习Drupal开发的自定义模块'
core_version_requirement: ^10
package: 自定义

4. 刷新Drupal缓存

完成代码修正后,必须刷新缓存才能让新路由生效:

  • 后台操作:访问/admin/config/development/performance,点击“清空所有缓存”
  • 命令行操作:执行drush cr

5. 验证模块状态

进入后台/admin/modules,确认你的自定义模块已启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 11:08:17