カスタムモジュールを作成する際の最も基本的な「Hello World」モジュールを作成します。今回のモジュールの内容としては、A "Hello World" Custom Page Moduleに書いてあるソースと同じです。
Hello Worldモジュール
「Hello World」モジュールに必要な全ファイルとしては、以下の3ファイルです。
modules/
└── custom/
└── hello_world/
├── hello_world.info.yml
├── hello_world.routing.yml
└── src/
└── Controller/
└── HelloController.php
hello_world.info.ymlの内容としては、以下のように記述します。
name: Hello World Module
description: Creates a page showing "Hello World".
package: Custom
type: module
core: 8.x
上記ファイルを配置することにより、管理画面の「機能拡張」の「カスタム」セクションに以下が表示されます。
hello_world.routing.ymlの内容としては、以下のように記述します。
hello_world.content:
path: '/hello'
defaults:
_controller: '\Drupal\hello_world\Controller\HelloController::content'
_title: 'Hello World'
requirements:
_permission: 'access content'
上記の記述により、パス'/hello'にアクセスすると、タイトルが'Hello World'のページが表示され、ページには、HelloControllerクラスのcontentメソッドの内容が表示されます。
HelloController.phpには、以下のように記述します。
<?php
namespace Drupal\hello_world\Controller;
use Drupal\Core\Controller\ControllerBase;
/**
* Defines HelloController class.
*/
class HelloController extends ControllerBase {
/**
* Display the markup.
*
* @return array
* Return markup array.
*/
public function content() {
return [
'#type' => 'markup',
'#markup' => $this->t('Hello, World!'),
];
}
}
上記3ファイルを上述のディレクトリに配置し、「機能拡張」から「Hello World Module」を有効化します。そして、パス'/hello'にアクセスすると、以下のような画面が表示されます。
基本ページでHello Worldページを作成
もちろん、上記だけの表示であれば、基本ページで作成すれば、カスタムモジュールの作成も必要なく、ノンコーディングで実現可能ですが、今後のカスタムモジュールの基礎となります。
以下に、基本ページでの作成例を記します。
URLエイリアスとして、'/hello2'と設定したので、パス'/hello2'にアクセスすると、以下のような画面が表示され、見栄えとしてはどちらも変わりません。
ソースファイル
上記のHello World Moduleのソースファイルは以下に置きました。
コメント
コメントを追加