私は Drupal には比較的慣れていませんが、CMS 全般についてはそうではありません。クライアント向けのサイトを作成しています。最も重要な部分は、ユーザーがさまざまな種類のデータを入力してデータベースに格納する、かなり複雑なフォームを作成することです。これを行うための最良の方法は、カスタム モジュールを作成することだと思いました。これは事実ですか?もしそうなら、誰かがこの性質のモジュールを作成するための最良の方法に関するドキュメントまたはチュートリアルに私を導くことができますか? そうでない場合は、コンテンツをハードコーディングしている場合でも、この種のフォームを作成するための最良の方法について提案を受け付けています。
3 に答える
Drupal.org には、モジュールの作成方法に関する詳細なチュートリアルが含まれています。たとえば、このを参照してください。
Drupal フォーム API は、簡単なデータ キャプチャを処理するための友達になります:フォーム API の使用方法。
データ キャプチャのニーズによっては、Webform モジュールがすでに目的を果たしている場合があります。
drupal には、これを行うためのフォーム API があります。drupal コミュニティのドキュメントでは、非常に優れた作業例が使用されています。そのためのリンクは次のとおりです。
もう 1 つ、ハード コーディングは絶対に行わないでください。利用可能なすべての API を活用してみてください。
フォームにデータを入力するユーザーが誰であるか、フォームの複雑さ、またはデータで何をするかについて詳しく説明していないので、他のオプションをいくつか提示したいと思います。
カスタム コンテンツ タイプ
カスタム コンテンツ タイプを作成し、適切なアクセス許可を割り当てて、ユーザーがコンテンツ作成フォームに入力し、ノード エンティティとしてデータベースに保存できるようにすることができます。Node は Drupal のコア エンティティであるため、 Views モジュールやパーミッションなどを使用して並べ替えや表示を行う機能が多数組み込まれています。
ただし、「フォーム」に入力する (つまり、ノードを作成する) ユーザーは、登録済みの Drupal ユーザーである必要があります。
Webフォームモジュール
Drupal にはWebforms モジュールがあり、カスタム コーディングを行うことなくフォームを作成できます。このモジュールは、データベース テーブルの作成を処理し、すでに多くの組み込み機能を備えています。
独自のモジュールを作成することが依然として最も適切であることがわかった場合は、他の回答を参照してください。