2012-05-10 10 views
0

Drupal 7: 連絡先フォームを特定のコンテンツタイプのノードに追加するモジュールが必要です。フォームは設定可能で、添付ファイル付きの電子メールをノード作成者に送信することを許可する必要があります。フォームにもキャプチャが必要です。電子メールはデータベースに保存しないでください。Drupalのノード作成者に電子メール7

このようなモジュールは存在するのですか、それとも開発する必要がありますか?

答えて

1

これは、webformモジュール、CAPTCHAモジュール、およびカスタムモジュールの組み合わせによって実現できます。

Webformは独自の 'webform'コンテンツタイプを定義しますが、 'admin/config/content/webform'にアクセスして適切なコンテンツタイプを選択することで他のコンテンツタイプを有効にすることもできます。

トークンモジュールは、非表示のフォーム要素として含めることができるnidおよびtitleなどのノードトークンを提供しますが、面倒なことに、著者をトークンとして含めません。

ウェブフォームのメールタブでは、フォームの結果を送信する電子メールアドレスとしてフォームコンポーネントを選択できます。私は隠しフィールドを作成し、デフォルト値を空白のままにしておき、hook_form_alter(フォームIDはソースを表示して隠れた入力を探して見つけることができるカスタムモジュールでノード作成者の値を追加するのはかなり簡単です) 'form_id ')。その後、電子メールタブでこのフォームコンポーネントを使用して結果を送信することができます。

私は問題を引き起こすことがわかります唯一のことは簡単な方法は、フォームの結果をデータベースに記録するのを止めることができない - 私はこれはあまりにも面倒なくカスタムモジュールで達成できると思います。

+0

その他の問題: 1. webformはアップロードされたファイルを添付ファイルとして送信できますか? (サイトのファイルフォルダにリンクするのではなく) 2.非表示の入力フィールドに作成者の電子メールアドレスを埋め込むことはお勧めできません。同じフォームの変更機能を使用すると、コピー/単一メッセージをノード作成者に送信できます。ノードIDを隠しフィールドに入れ、node_load()とuser_load()を使用して著者の電子メールアドレスを取得します。いくつかの野生のSQLを使用してユーザーの電子メールアドレスを取得することもできます。 –

+0

メールアドレスのポイントが良いです。 webformは実際に添付ファイルとして文書を送ることができるとは思わないが、MIMEメールモジュールの追加やカスタムコードの追加でこれを行うのは難しくないだろうと推測している。 – jonshot

1

ヨップ、そのようなモジュールがあります。それはWebformと呼ばれています。 Webformを使用すると、事前定義されたフィールドを持つ特定のノードタイプでブロックフォームを追加し、ノード作成者に直接電子メールを送信できます。

  1. ダウンロードおよびWebフォーム4.xの
  2. フォームの設定タブのチェックでは住所使用する
  3. Eメールの下タブトークン[current-page:node:author:mail]
  4. を目的のフィールドを追加し、より新しいを作成可能ブロックとして利用可能
  5. 新しく有効になったブロックを設定する(特定のnode/*/*にページを制限デ型+セット)
  6. Doがあなたがprintcreens、より詳細な指示hereを見つけることができます

をテストします。

関連する問題