【第3回】Drupalカスタムモジュールで入力フォームを作成する

  •  
 
MAXIMUM に投稿

タグ

1. フォームってなに

先ずフォームってなんなのかですが、具体的には下記のようなテキストを入力・選択して送信するための画面部品のことを指す用語です。

  • ログイン画面
  • 検索欄
  • お問い合わせ画面
  • 会員登録画面
  • アンケート
  • 商品購入時の住所入力

2. PHPに定義を書いていく

PHPにフォーム定義をしていきます。

Drupalでフォームを定義する際にはHTMLではなく、PHPの配列で定義します。理由はDrupalのForm APIで纏めて管理しており、HTML部分については既にコアとして定義済みだからです。

例えばこういう書き方をします。これで入力フォームが組み立てられます。

    $form['comment'] = [
      '#type' => 'textarea',
      '#title' => $this->t('任意コメント'),
      '#required' => FALSE,
    ];

3. キャッシュクリア

変更を適用する際は毎回恒例のキャッシュクリアが必要です。 Macターミナルかつddev環境を前提に例で挙げます。

ddev drush cr

4. 感想

仮で個人ブログ作成する時にこの機能を多用するとフォーム組み立てが一瞬で終わって良かった。

機能変更後の適用が素早くて良かった。

5. おまけ

TXTファイルになりますが、付録としてソース全文を挙げておきます。

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。
添付ファイル