首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义Drupal-8模块不出现

自定义Drupal-8模块不出现
EN

Stack Overflow用户
提问于 2015-05-21 11:43:40
回答 1查看 1.3K关注 0票数 1

我已经成功地在Drupal8站点上安装了自己的模块。我试图通过输入routing.yml文件中指定的路径来访问它,但是我得到了'Page‘错误。我几乎肯定我的模块编写正确(我遵循的是同一个模块成功访问的教程)。是什么导致了我的问题,我该如何解决?

下面是我的模块文件: 1)kalvis.info.yml

代码语言:javascript
复制
name: 'Kalvis'
description: 'My module'
type: 'module'
core: 8.x

2)kalvis.routing.yml

代码语言:javascript
复制
kalvis.content:
    path: /kalvis/{$from}/{$to}
    defaults:
        _content: 'Drupal\kalvis\Controller\kalvisController::content'
        _title: 'My module'
    requirements:
    _permission: 'access content'

3)kalvisController.php

代码语言:javascript
复制
<?php

namespace Drupal\kalvis\Controller;
use Drupal\Core\Controller\ControllerBase;
class kalvisController extends ControllerBase{
    public function content($to, $from)
    {
        $message = $this->t('%from sends message %to', [
            '%from' => $from,
            '%to' => $to,
        ]);
        return $message;
    }
}
?>

下面是我如何存储这些模块文件:

代码语言:javascript
复制
www/drupal8/modules/kalvis
                    kalvis.info.yml
                    kalvis.routing.yml
                    /src/Controller
                        kalvisController.php

我试图通过输入类似于http://localhost/drupal8/admin/kalvis/Kalvis/Drupalhttp://localhost/drupal8/kalvis/Kalvis/Drupal的URL来访问模块,但仍然遇到了同样的问题。

我使用安装在本地主机(WAMP)上的Drupal8.0.0 beta10

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-21 19:26:36

在路由yml文件中,在路径的值周围添加单引号。同时,从2个参数中移除$符号。

因为Drupal 8的beta 4,所以必须将路径指定为_controller,这应该返回一个呈现数组。

kalvis.routing.yml文件如下:

代码语言:javascript
复制
kalvis.content:
  path: '/kalvis/{from}/{to}'
  defaults:
    _controller: '\Drupal\kalvis\Controller\kalvisController::content'
    _title: 'My module'
  requirements:
    _permission: 'access content'

kalvisController.php,中,将返回值更改为呈现数组return array('#markup' => $message);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30372745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档