【问题标题】:Drupal 8 Module Not Found未找到 Drupal 8 模块
【发布时间】:2017-06-26 18:28:16
【问题描述】:

我查看了this questionthis question,它们都有类似的问题,但选择的答案对我不起作用。

我一直关注this tutorial 来创建我自己的自定义 Dupral 8 模块。据我所知,我的文件中有正确的文件结构和正确的内容,但是我收到了一个找不到页面的错误。我尝试在 photoshelter.routing.yml 文件中的 _controller 和 PhotoController.php 文件的命名空间声明中使用前导斜杠,但这并没有改变任何东西。我已经没有尝试的想法了。是否有人对这些文件中的发现错误有任何故障排除建议?

PhotoController.php

namespace Drupal\photoshelter\Controller;
use Drupal\Core\Controller\ControllerBase;

class PhotoController extends ControllerBase {
  public function content() {
    return array(
      '#type' => 'markup',
      '#markup' => $this->t('Hello, World!'),
    );
  }
}

photoshelter.info.yml

name: PhotoShelter API
description: Integrate the PhotoShelter API with your Drupal site.
package: Custom
type: module
core: 8.x
configure: photoshelter.settings
php: 5.6

photoshelter.routing.yml

photoshelter.content:
  path: '/photoshelter'
  defaults:
    _controller: '\Drupal\photoshelter\Controller\PhotoController::content'
    _title: 'PhotoShelter API'
  requirements:
    _permission: 'access content'

文件结构

photoshelter
  -src
    -Controller
      PhotoController.php
  info/routing.yml files

【问题讨论】:

  • 该代码看起来完全没问题。启用模块后是否清除缓存?当您点击路径或清除缓存时,您是否在日志中看到任何错误?

标签: php drupal drupal-modules drupal-8


【解决方案1】:

我将您的文件复制到了全新的 Drupal 8 安装中,并且可以正常工作。

确保 .routing 文件位于模块文件夹的顶层。

确保在之后清除缓存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多