web-dev-qa-db-ja.com

Webフォームでメール受信者にルールを追加する

私は現在Drupal 7のサイトに取り組んでいます。このサイトでは、ユーザーが特定の会社に所属しているか、特定の場所にいるかに基づいて、連絡フォームが特定の担当者に電子メールを送信する必要があります。最初のチェックはユーザーの会社に基づいており、その会社に営業担当者がいる場合はメールが届きます。そうでない場合は、国の担当者がメールを送信します。現在、連絡フォームにはウェブフォームを使用しています。

フォームのフィールドに基づいて、Webフォームの受信者のメールにルールまたは条件を追加することができれば、それが出発点として適していると考えていました。しかし、周りを見回して数人に話しかけた後、このオプションが現在存在するかどうかはわかりません。また、これを実現する別の方法についての提案も歓迎します。アドバイスを頂ける方ありがとうございました。

4
tmartineau

あなたがやりたいことは、確かにウェブフォームだけではできません。

しかし、Webformを Rules および Webform Rules と組み合わせると、それを引き出すことができる場合があります。

Webフォーム送信のイベントで起動するルールを追加できます。条件として、Webフォームのnidを追加して、この特定のWebフォームがこのワークフローのみをトリガーすることを確認します。条件として独自のphpコードを追加することもできます(単純な比較を行う場合は、コードをまったく追加しないでください)。このプロセスの良い点は、送信されたすべてのデータがルールを通じて利用できるため、コード/条件でそれらを取得して、データが基準を満たしているかどうかを確認できることです。すべての条件が満たされている場合は、特定のユーザーまたはロールのすべてのユーザーに電子メールを送信するアクションを追加します。

2
Perisdr

カスタムモジュールを選びます。

  1. [〜#〜] fapi [〜#〜] を使用してフォームをビルドします。
  2. 送信ハンドラで、ユーザーのプロパティを取得します。
  3. ユーザー drupal_mail() メールを送信します。
1
BetaRide

条件付き受信者 のドキュメントページに従って、Webformはすでに基本的な条件付き電子メールをサポートしています。

それでも不十分な場合は、他の高度なオプションについて Webform Bonus Pack:Webフォームでの電子メールルーティング ブログの投稿を確認してください。

コードをできるだけ簡単にアップグレードおよび保守できるように、(必要な場合にのみ)できるだけ少ないカスタム作業を行ってください。

0
colan