Drupal User ProfileイメージとCiviCRMコンタクトイメージを同期させるにはどうしたらいいですか?

私は、ユーザーがDrupalプロファイルイメージを更新すると、CiviCRMコンタクトイメージを自動的に更新する方法を見つけようとしています。私は特にDrupal8.5/Civi4.7を探していますが、Drupalのバージョンにかかわらず、この時点でCivi4.7を正しく更新できるものはすべて取っていきます。
Drupal/CiviのAPI関数は、ドキュメントの不足にすぎないかもしれませんが、これを簡単にすることは可能ですが、ほぼ不可能です。私はまだコードを掘り下げています。

I found this discussion on the old Civi forum (circa 2011) which
discusses it. https://forum.civicrm.org/index.php%3Ftopic=22405.0.html

There is also some old code in the Civi site which directly
updates the database and also doesn’t seem to work anymore:
https://wiki.civicrm.org/confluence/display/CRMDOC/Adding+pictures+in+civicrm+profile+page

これを行うことができるCivi 4.7.30のものはありますか?

そうでない場合は、Civiの連絡先に写真の画像をプログラムで追加する方法を示すいくつかのドキュメント/例を教えてもらえますか?

ベストアンサー

私はUIを介してCiviCRM連絡先イメージとdrupalプロファイルイメージを同期する方法がわかりません。しかし、モジュールを追加してフックを呼び出して連絡先イメージを更新することができます。

連絡先に画像のURLを追加する方法は次のとおりです

$params = [
  'contact_id' => 2,
  'image_URL' => [
    'name' => '/var/www/html/drupal/sites/default/files/civicrm/custom/Screenshot_from_2018_06_19_15_46_08_1877c5451ed2e68a12816071e0006fef.png',
    'type' => 'image/png',
  ],
];
CRM_Contact_BAO_Contact::processImageParams($params);
civicrm_api3('Contact', 'create', $params);

HTH

Pradeep

返信を残す

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