为什么我的Drupal 8模块显示找不到网页?(Why is my Drupal 8 module

2019-11-04 05:20发布

我正在关注的模块,路由和控制器教程。 不过,我一直得到“找不到网页”,无论“清除所有缓存”的。

dino_roar.info.yml文件:

name: Dino ROAR
type: module
description: "ROAR at you"
package: Custom
core: 8.x

dino_roar.routing.yml

dino_says:
  path: /the/dino/says/
  defaults:
    _controller: Drupal\dino_roar\Controller\RoarController::roar
  requirements:
    _permission: 'access content'

和src /控制器/ RoarController.php文件:

<?php

namespace Drupal\dino_roar\Controller;
use Symfony\Component\HttpFoundation\Response;

class RoarController
{
    public function roar(){
        return new Response('ROOOOAR');
    }
}

当访问通过: HTTP://drupal-8.dd:8083 /的/恐龙/说/我收到未找到错误页面。 任何建议,非常感谢。

下面是我的文件夹结构:

这是个什么样子时,我崩溃了src文件夹。

Answer 1:

主模块信息阳明文件有以下方案后,被命名为:

module_name.info.yml

所以这是dino_roar.info.yml为模块。 还需要启用您的模块,但据我所知,只有在正确的命名方式YML文件不存在的Drupal甚至不知道你的模块。

另外,请确保您的文件夹结构是正确的:

dino_roar
  --> src
    --> Controller
           RoarController.php
  dino_roar.info.yml
  dino_roar.routing.yml


Answer 2:

接到Shashwat Purav一些帮助在Drupal.org。 以下是我已经改变了该工程的路由文件。

dino_roar.dino_says:
    path: /dino/says
    defaults:
        _controller: '\Drupal\dino_roar\Controller\RoarController::roar'
    requirements:
        _permission: 'access content'


Answer 3:

我想这是因为你原来的路由问题,您应该改变“路径:/的/恐龙/说/”到“路径:/的/恐龙/说”

后删除最后一个斜线,应该罚款。



文章来源: Why is my Drupal 8 module show Page not found?