Drupal 7アカウントでCiviCRM連絡先(Webフォームの送信時に作成)をリンクするルールを設定する

私は
CiviCRM連絡先をDrupal
7アカウントにリンクするためのルールを設定する
。連絡先がCiviCRMで作成または更新された場合、drupalユーザーが作成されます。しかし、連絡先がWebフォームの提出によってCIviCRMで作成されても、解雇されることはありません。それは
“ユーザーを作成できません、電子メール:無効です!!”というエラーで終わります。どんな助けも本当に高く評価されます。事前に感謝しています!

ベストアンサー

ここにルールを追加する必要があるかもしれません。
Christiaによるものは、具体的には、「CiviCRMの連絡先レコードの更新」についてです。

私たちがwebformから作成するためのルールを作った唯一の方法は、たとえばタグを連絡先に追加してからトリガーをオフにすることです。あなたはcivicrm_entityが必要です。

これはDrupal
SEからクロスポストされます。ここではルールを使って物事を収集することができます。また、自動的に連絡先にログインします。

{ "rules_self_create_user_account_and_login" : {
    "LABEL" : "Create User Account",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "civicrm", "rules" ],
    "ON" : { "civicrm_entity_tag_create" : [] },
    "IF" : [
      { "NOT civicrm_entity_user_exists" : { "civicrm_contact" : [ "civicrm-entity-tag:entity-id-contact" ] } },
      { "data_is" : {
          "data" : [ "civicrm-entity-tag:entity-table" ],
          "value" : "civicrm_contact"
        }
      },
      { "data_is" : { "data" : [ "civicrm-entity-tag:tag-id" ], "value" : "525" } }
    ],
    "DO" : [
      { "civicrm_entity_action_create_user" : {
          "USING" : {
            "civicrm_contact" : [ "civicrm-entity-tag:entity-id-contact" ],
            "is_active" : "1",
            "notify" : "1",
            "signin" : "1",
            "username_format" : "email"
          },
          "PROVIDE" : { "civicrm_user" : { "civicrm_user" : "Created Drupal User" } }
        }
      },
      { "redirect" : { "url" : "civicrm/user?reset=1" } }
    ]
  }
}

新しいタグを追加する必要があります(このタグのIDを書き留めます)。この目的のために作成したタグにエクスポートされたルールを変更します。また、Webフォームを変更して、フォーム提出時にそのタグを自動的に連絡先に追加します

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です