Drupal8 カスタムモジュールの作り方

--広告--

ポイント

Drupal 8のモジュールの作り方を簡単に説明します。

今回はページにアクセスすると、画面に「Welcome Drupal!」と表示させる「Welcome」モジュールを作成します。

閲覧数 813 回

ディレクトリの作成

「module/custom」ディレクトリ内に、「welcomeディレクトリを作成します。」

モジュール名.info.ymlファイルの作成

モジュールの情報を記載するファイル「モジュール名.info.yml」ファイルを作成します。今回はwelcome.info.yml となります。

今回は下記のように記載します。

name: Welcome
type: module
description: Welcome module.
core: 8.x

 

モジュール名. moduleファイルの作成

モジュール名.module ファイルは、モジュールのコアとなるファイルです。

今回はテキスト表示だけのためコードを記載する必要はないので、下記のように記載します。

<?php
/**
 * @file
 * welcome module.
 */

 

モジュール名コントローラーファイルの作成

Drupal 8 ではページコールバック関数は「コントローラクラスのメソッド」として実装するスタイルになりました。

今回はモジュールディレクトリ内に「src」というディレクトリを作成し、その中にwelcomeController.php ファイルを作成します。

welcomeController.phpには下記のように記載します。

 

<?php
/**
 * @file
 * Contains \Drupal\welcome\WelcomeController.
 */

namespace Drupal\welcome;

use Drupal\Core\Controller\ControllerBase;

class WelcomeController extends ControllerBase {
  public function content() {
    return array(
        '#markup' => '' . t('Welcome Drupal!') . '',
    );
  }
}


モジュール名.routing.ymlファイルの作成

モジュール名.routing.ymlファイルは、特定のパスにアクセスした際に、コントローラーを利用させるようにするファイルです。

(Drupal 7までは「hook_menu」で指定していた部分です。)

今回は 「welcome.routing.yml」というファイルをwelcomeディレクトリ配下に作成します。

ファイルの中身は下記を記載します。

hello:
  path: '/welcome'
  defaults:
    _title: 'Welcome Title'
    _controller: '\Drupal\welcome\WelcomeController::content'
  requirements:
    _permission: 'access content'

この設定で、 Drupal サイトの /welcome にアクセスがあれば、コントローラーで上で作成した WelcomeController.php 内の WelcomeController::content メソッドが対応します。

以上でファイルの作成は完了です。

 

モジュールの有効化

モジュールの管理画面よりモジュールを有効化します。

img1

ページにアクセス

モジュールを有効化した後に、「/welcome」にアクセスすると画面に表示されます。

img2

 

以上でモジュール完成です。

まとめ

welcomeモジュールでは下記ディレクトリとファイルを作成しました。

img3

 

今回は簡単に文言を表示させるだけでしたが、こちらを応用して様々なモジュールが作られていきます。

カテゴリ

関連タグ

併せて読みたい

--広告--

同じカテゴリのコンテンツ

viewsモジュールの利用方法を説明します。

viewsモ…

Drupal管理画面よりサイトデータベースのバックアップとリストアができる…

Metatagモジュールを利用することで、テンプレートではなく

URL Embedモジュールを利用することで、URLをWYSIWYGエディ…

ページにFacebookやtwitterへのシェアボタンが配置できる…