CiviCRMでカスタムフィールドセット「ソーシャルプロファイル」を作成しました。これには、デフォルトで「はい(値1)」に設定されている「プロファイルを公開」という1つのはい/いいえフィールドが含まれています。 1つの連絡先でフィールドセットを編集すると、デフォルト値が正常に機能していることがわかります。
次に、新しいメンバーになるためのメンバーシップページを作成しました。フォームに入力すると、新しいCiviCRM連絡先が作成されます。フォームには「ソーシャルプロフィール」が含まれていません。
新しいメンバーが登録するとき、「プロフィールを公開する」の情報は初期化されません。確認後、連絡先のカスタムフィールドセットが初期化されていないようです-entity_id = <NEW_CONTACT_ID>
のcivicrm_value_xxにデータがありません
だから私の質問:新しい連絡先のカスタムフィールドセットを強制的に初期化する方法はありますか?
メンバーシップページに「マイプロファイルを公開する」カスタムフィールドを含めることはできますか?
オプション1が不可能な場合、次善策は、メンバーシップフォームにcivicrm postProcessフックを実装し、フォームにカスタムフィールドレコードを作成することです。
Civiは必要に応じてカスタムフィールドレコードのみを作成します
あるいは、mysqlトリガーを使用して上記を実行できる場合があります(おそらく連絡先レコードの作成時ですか?)