【问题标题】:Custom Module does not appear in Drupal自定义模块未出现在 Drupal 中
【发布时间】:2016-02-03 10:36:16
【问题描述】:

我需要构建一个 Drupal 模块,该模块从 API 收集数据并在页面上创建一个块,以指定格式显示数据。我已经下载并安装了 Drupal 8.0 Alpha2。

根据我得到的所有分散的非非正式信息,我真的很难看清自己在做什么。

在模块内部,我创建了一个名为 custom 的目录,并在其中放置了一个名为“sidebar_currency”的文件夹。

*.info.yml

我已根据最低要求创建了此文件:

name: Sidebar Currency module
description: 'Exercise Module.'
package: Custom
hidden: false
type: module
core: 8.x

我添加了 hidden:false 条目,因为我收到了“找不到页面”错误。

路由如下:

sidebar_currency.content:
  path: '/currency'
    defaults:
      _controller: 'Drupal\sidebar_currency\Controller\SidebarCurrencyController::content'
      _title: 'Sidebar Currency'
      requirements:
        _permission: 'access content'

在控制器条目中,我尝试在 Drupal 命名空间之前添加一个反斜杠,例如'\Drupal\sidebar_currency...'。这根本没有帮助。

下面是我的模块结构:

DRUPAL_INSTALL_DIR
|_ modules
  |_ custom
    |_ sidebar_currency
      }_ src
        |_ Controller
          |_ SidebarCurrencyController.php
      |_ sidebar_currency.info.yml
      |_ sidebar_currency.routing.yml
      |_ composer.json

下面是我的控制器,我非常希望看到它在我的屏幕上弹出一些东西。

namespace Drupal\sidebar_currency\Controller;

use Drupal\Core\Controller\ControllerBase;

class SidebarCurrencyController extends ControllerBase
 {
   public function content()
   {
       return array(
          '#type' => 'markup',
          '#markup' => $this->t('List of currency'),
        );
     }
  }

我很难在 CMS 的“扩展”选项卡中看到这个模块,但已预安装的所有其余模块除外。我从配置菜单中清除了所有缓存,但仍然看不到任何东西。

我是否需要在站点内而不是当前所在的位置编写代码?有人可以帮助并指出我应该如何去做这件事的正确方向吗?提前致谢。

【问题讨论】:

    标签: php drupal


    【解决方案1】:

    事实证明,为了让我的模块出现,我需要做的就是添加 module_name.module 文件,即使它是空的,即没有内容。

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-11
      • 1970-01-01
      相关资源
      最近更新 更多