not president's blog

脳直で書きます。自分が覚えたい事を書いているだけです。

I came back

Drupal8カスタムモジュール追加方法


Drupal8が出てもうしばらく経っておりますが、ついに導入しました。
そして早速カスタムモジュール追加で迷ったので、覚書を残します。
以下の手順で進めます。

  1. モジュールinfoファイル作成
  2. コントローラファイル作成
  3. routingファイル作成

以下を参考にしました。 https://www.drupal.org/node/2464195
https://drupal.studio-umi.jp/blog/Drupal-8-tutorial-custom-module-development

1. モジュールinfoファイル作成


drupalのインストールフォルダ/modules以下に作成するモジュールフォルダを作成します。
(今回はfadeinフォルダを作成)
直下に「fadein.info.yml」ファイルを作成。
中身は以下。

name: fadeIn
type: module
description: 'This is your first module.'
core: 8.x

2.コントローラファイル作成


作成したモジュールフォルダ直下に以下のフォルダ/ファイルを作成する。
src/Controller/FadeInController.php
ここで呼び出すメソッドを作成します。中身は以下。

<?php

// 名前空間の定義
namespace Drupal\fadein\Controller;

use Drupal\Core\Controller\ControllerBase;

/**
 * Hello World を表示するコントローラとメソッド
 */
class FadeInController extends ControllerBase {
      public function fade() {
          $builder = array(
          '#type' => 'markup',
          '#markup' => $this->t('<p id="one">Hello World</p>'),
    );
    return $builder;
    }
}

3.routingファイル作成


作成したモジュールフォルダ直下に以下のファイルを作成する。
fadein.libraries.yml
ここで、モジュールにアクセスするパスを記述します。
中身は以下

fadein.fade:
  path: '/fade'
  defaults:
    _controller: '\Drupal\fadein\Controller\FadeInController::fade'
    _title: 'Fade In'
  requirements:
    _permission: 'access content'

これで「/fade」にアクセスすると、Hello Worldが表示されます。
f:id:orenodrupal:20160111210139p:plain ソースファイル名や結果がばらばらなのは、本来やろうとしていたことができなかったからです。
カスタムモジュールでJqueryを追加しようとしていました。
できたらまた書きます。