顧客担当者モジュールに登録してあるプロフィール画像を取得する

こんにちは!エンジニアリングチームの川合(@Ricckn)です。

この間、山梨の小菅村の友人親戚宅でガッツリBBQをやってきました。
やっと夏が落ち着いてくれたおかげで、かなり過ごしやすい気候で良かったのですが、1年通してこのくらいの気候だと良いなぁと感じざるを得ませんね。

プロフィール画像のURLを取得したい

今回の記事は9/18に社内で実施したLTのネタとなります。

プロフィール画像は顧客担当者の詳細画面を開くと上部に出てきます。
あまり、お客様の顔写真を登録するケースも少ないように感じますが、例えば名刺ソフトとの連携を行った際、別画面へ名刺画像を出力するといった要望はありますよね。
上の例のようにプロフィール画像のファイルへアクセスする際に役立つ情報の共有です。

実際、F-RevoCRM内のフィールドで画像を直接扱うのはこちらのプロフィール画像部分くらいなのですが、こちらのファイルpathはVtiger_Record_Modelのインスタンスから直接取得できます。

$recordModel = Vtiger_Record_Model::getInstanceById($crmid, 'Contacts');
$profilePathArray = $recordModel->getImageDetails();
/*
array (size=4)
    'id' => string '29' (length=2)
    'orgname' => string 'TR_logo_13-01-01(58KB).png' (length=28)
    'path' => string 'storage/2019/August/week5/29' (length=28)
    'name' => string 'TR_logo_13-01-01(58KB).png' (length=28)
*/

直接と書きましたが、取得できるデータを見ればわかるように、こちらの`getImageDetails()`の値は配列で返ってきます。
その為、以下のようにしなくてはいけないのが注意点です。

$url = $profilePathArray[0]["path"]."_".$profilePathArray[0]["orgname"];

感覚的に、[ / ]で結合したくなる所ですがぐっとこらえ、[ _ ]で結合してください。こちらはアクセスすれば404、実態ファイルを見ればその問題も一発でわかるはずなので特に重要な点ではありませんね。

本日は小ネタにはなってしまいましたが、検索してたどり着いた方の助力になれたのならば幸いです。

次回のエンジニアリングブログもお楽しみください!

ご質問・お問い合わせはこちら

メールフォームへ