0

特定のタイプのノードごとに Drupal 6 で連絡フォームを構築する最良の方法は何でしょうか? フィールドとして電子メール アドレスを持つ「プロファイル」タイプの CCK ノードがいくつかあります。各ノードのビューに、ユーザーが自分の電子メール アドレスを返信アドレスとして記入して送信できる連絡フォームを表示したいと考えています (これにより、オフサイトでさらに連絡が取れるようになります)。

基本的に、最初の電子メール連絡を自分のサイトから行いたいだけで、受信者が返信すると、送信者が連絡フォームに記入したときに入力したアドレスに送信されます。

Drupal に組み込まれている個人用連絡フォームをなぜ私が使用しないのか、疑問に思われるかもしれません。問題は、私の教育機関がローカル Kerberos ログインを使用するように Drupal インスタンスをデプロイする方法で、Drupal で作成するユーザー アカウントに電子メール アドレスがないことです。ユーザー名を持つ基本的なスケルトン アカウントを取得するだけです。ユーザー アカウント情報を編集するという別の手順をユーザーに強制したくはありません。

4

1 に答える 1

0

特にノード自体とは何の関係もありません。これに必要なのは、フィールド(from、to、subject、message)を持つフォームと、このフォームのカスタム送信ハンドラーだけです。フォームAPIを使用してカスタムモジュールにこれらすべてを実装し、フォームを作成してカスタム送信を作成できます。そして、この送信では、 drupal_mail()を介して電子メールを送信する必要があります-これを見てください、それは例も提供しています。そのトピックは、フォームで役立ちます。

次に、このフォームをノード内に配置する必要がある場合は、次の操作を実行できます。hook_nodeapiを介して、「表示」操作で、以前に作成したフォームを追加し、特定のnode_typeを確認して、既存のフィールド値を使用できます(前述のとおり)。フォームを事前に入力するための電子メール付きのcckフィールド)。そのため、ユーザーがノードを表示するたびに、このフォームが表示されます。

タスクの論理的な継続として、メニューシステムを確認し、電子メールフォームを表示するノードのローカルタスク(タブ)を作成することをお勧めします。

一般的には、それだけです。もちろん、これを実装する方法は他にもありますが、これが最も理解しやすい方法だと思います。

よろしく、スラヴァ

于 2011-08-18T13:15:47.350 に答える