ログインしているユーザーの写真をフェッチして、ウェルカムブロックを作成しようとしています。機能していないコードを適用しました
$userphoto = $user->picture;
では、ユーザーの写真や画像のURLを取得するにはどうすればよいでしょうか。
ユーザーエンティティのpicture
プロパティはファイルID(_file_managed
_テーブルのfid
列への参照)です。
次のように file_load()
を使用してファイルを明示的にロードできます。
_$file = file_load($user->picture);
_
そして theme_image()
を使用して画像にレンダリングします:
_$image = theme('image', array(
'path' => $file->uri,
'alt' => 'Some alt',
// etc...
));
_
または、上記を省略して、便利な theme_user_picture()
関数を使用することもできます。
_$image = theme('user_picture', array('account' => $account));
_
多分それは画像スタイルでレンダリングするのに役立ちます
image_style_url( 'my_image_style'、$ user-> picture ['uri']);
2番目のパラメーターは、 'public://images/myimage.png'のようなdrupalの内部ファイルパスです。
以下を試すことができます。
$user = user_load($view->result[$key]->uid);
$filepath = $user->picture->uri;
$picture_url = file_create_url($filepath);
これにより、ユーザーの画像のURLがわかります。