回答:
フォームフィールドがコンテンツタイプのように構成されることを期待することは、過度に一般化されています。コンテンツタイプは、Webサイトのコンテンツ(テキスト、画像など)、より具体的には、Drupalのノード(Drupalのコンテンツの主要部分)用です。フィールドおよびフィールドUIモジュールを使用すると、Web UIを使用してコンテンツタイプにフィールドを簡単に追加できます。特定の場合を除いて、フォームはWebサイトのコンテンツの一部ではなく、ユーザーが情報を追加および編集する方法です。
Drupalでフォームをカスタマイズ(変更)するための通常の方法は、フックを実装するカスタムモジュールを作成することです。これにより、他のモジュールが提供する既存のフォームにフォーム要素を追加できます。この方法で連絡先フォームに追加されたフィールドの情報を使用するには、hook_mail_alter()の実装を使用して送信メールを変更する必要もあります。次のガイドでは、Drupal 7の両方の手順を説明します(このコメントにも注意してください)。hook_form_FORM_ID_alter
非コードソリューションは、フォームコンテンツタイプを提供するWebformモジュールを使用し、コンテンツとしてフォームをWebサイトに追加できるようにすることです。これらのフォームは、Web UIを介して構成できます。これらのフォームから送信された情報に対して、さまざまな処理ステップを構成できます。それらの1つはメール送信です。カスタムの連絡先フォームに使用することは、一般的な使用例です。Webformには、独自の概念と拡張ポイントが付属しています。一度だけのシンプルなフォームの場合、より簡単で高速なソリューションであることが判明する可能性がありますが、特定の機能のしきい値に達すると、サイズが大きく複雑になってカスタマイズが明らかになる場合があります。Webフォームに追加機能を追加するコストは、そもそもカスタムモジュールの作成を回避する利点よりも優れています。
コアContactモジュールを使用している場合は、Drupal 7 のContact form fieldsモジュールがすぐに終了することを期待してください。
このモジュールでは、プロファイルモジュールインターフェイスのようなサイト全体の連絡先フォームにフィールドを追加できます。管理者はフィールドを定義でき、それらはサイト全体の連絡フォームで利用できます。これらのフィールドは、特定のニーズが見当たらないため、現時点では個人の連絡先フォームでは使用できません。
今すぐ欲しい場合:4つのオプション:
(これを検索ボットアリーナに追加;))
フォームapiを介してサイト全体の連絡先フォームにカスタムフィールドを追加する方法を示すサンプルコードを次に示します。new form fields example。
楽しい!