Drupal8 カスタムモジュール作成手順
HelloWorldモジュールを作る
- Drupal8 Hello Worldモジュール作成手順 | レンタルサーバーのCPIスタッフブログ
- Drupal 8 入門 : カスタムモジュール作成編 | Drupal専門の開発会社 Studio Umi
この辺を参考に作成しました。 バージョンの違いなんですかね?記事通りだと動かないとことかあって、ちょこちょこ変えてるんでその辺書いていきます。
ディレクトリとファイルを作成する
modulesディレクトリの直下に任意の名前でディレクトリを作成します。 ここでは「hello」とします。
modules/hello
modules/custom/helloのようにもう一つディレクトリを掘ってもちゃんと認識してくれます。 カスタムモジュールを一箇所に集めたい場合なんかは便利です。
作成したディレクトリ内に以下のファイルを作成します。
hello/
- hello.info.yml
- hello.module
- hello.routing.yml
- src/Controller/HelloController.php
ファイルを編集する
hello.info.yml
name: Hello World description: Just print 'Hello World!' on display. type: module core: 8.x
hello.module
モジュールの本体ですが、今回は何も記述しません。
hello.routing.yml
hello: path: '/hello' defaults: _title: 'ようこそ' _controller: 'Drupal\hello\Controller\HelloController::world' requirements: _permission: 'access content'
ブラウザから /hello
にアクセスした場合、指定のコントローラーの関数を呼び出すように設定します。
ここでは、HelloControllerのworld()を呼んでいます。
src/Controller/HelloController.php
<?php namespace Drupal\hello\Controller; class HelloController { public function world() { return array( '#markup' => '' . t('Hello World') . '', ); } }
ここまででモジュールが完成しました。
作成したモジュールをインストール
- 管理者権限でログイン
- 管理メニューから[機能拡張]メニューを開く
- 機能一覧から作成したモジュールを探す
- チェックを入れてインストール
有効化されれば成功です。 リストにモジュールが表示されない、正しくインストールできない、などの場合は設定を見直してください。
/hello
早速 /hello
にアクセスしてみます。
表示できました。