簡體   English   中英

為什么找不到我的Drupal 8模塊的顯示頁面?

[英]Why is my Drupal 8 module show Page not found?

我正在關注“ 模塊,路由和控制器”教程。 但是,無論“清除所有緩存”如何,我一直得到“找不到頁面”。

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 / Controller / 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 / the / dino / says /我收到頁面未找到錯誤。 任何建議深表感謝。

下面是我的文件夾結構: 在此處輸入圖片說明

這就是我折疊src文件夾時的外觀。 在此處輸入圖片說明

主模塊信息yml文件必須按照以下方案命名:

module_name.info.yml

因此,您的模塊是dino_roar.info.yml。 另外,您還需要啟用您的模塊,但據我所知,當不存在正確的命名信息yml文件時,Drupal甚至都不知道您的模塊。

還要確保您的文件夾結構正確:

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

在Drupal.org上從Shashwat Purav獲得了一些幫助。 以下是我已更改為起作用的路由文件。

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

我認為是由於您原來的路由問題,您應該將“ path:/ the / dino / says /”更改為“ path:/ the / dino / says”

刪除最后一個斜杠后,應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM