[英]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 /我收到頁面未找到錯誤。 任何建議深表感謝。
主模塊信息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.