首页 > 解决方案 > 自定义模块 - 找不到页面

问题描述

完整的 Drupal 新手,我已经阅读了几个教程和其他线程,试图找出为什么我会收到以下内容的 Page not found 响应。

目录结构:

web
--- modules
---- custom
------ school
-------- school.info.yml
-------- school.routing.yml
-------- src
---------- Controller
------------ SchoolController.php

school.info.yml:

name: 'School Module'
type: module
description: 'Handles all school details'
package: Sample
core: 8.x

school.routing.yml:

school.edit:
  path: '/admin/school/edit'
  defaults:
    _controller: '\Drupal\school\Controller\SchoolController::edit'
    _title: 'Edit School'
  requirements:
    _permission: 'access content'

学校控制器:

<?php
namespace Drupal\school\Controller;

use Symfony\Component\HttpFoundation\Response;
use Drupal\Core\Controller\ControllerBase;

/**
 * School Controller
 */
class SchoolController extends ControllerBase {

    /**
     * @return Response
     */
    public function edit() {
        return new Response('testing');
    }

}

任何帮助,将不胜感激!

编辑:似乎我的 Drupal 安装可能存在问题,在完成全新安装并复制模块后,这似乎工作正常。

标签: routingdrupal-8

解决方案


您发布的代码有效。您必须清除Drupal 缓存,否则您忘记启用您的模块。


推荐阅读