1

を使用してユーザーのプロフィール写真を取得しようとしています

$this->itemPhoto($this->viewer(), 'thumb.icon');

また

$this->htmlLink($this->viewer()->getHref(), $this->itemPhoto($this->viewer(), 'thumb.icon'))

this->viewer は、ページを閲覧しているユーザーを取得し、そのユーザーの user_id とリンクを出力します。私はその出力を模倣しましたが、それを受け入れることを拒否しました。「アイテムは有効なアイテムである必要があります」というエラーが発生します。コードを検索しましたが、ユーザーが画像をアップロードすると、何らかの理由で画像がハッシュされ、プルできないハッシュフォルダーに入れられます。しかし、上記の関数を使用すると現在のビューアまたは pageSubject 以外の他の誰かのプロフィール写真を取得したい場合は機能しません.これを機能させる方法を知っている人はいますか?

socialengine のヘルプの欠如とひどい API が、これを困難にしています。

4

3 に答える 3

4

$this->viewer()実際には、ログインしているユーザーのオブジェクトです。ユーザーがログインしていない場合、このコードは何も出力しません。

編集:それはユーザーオブジェクトです。Engine_Api::_()->user()->getViewer()または、ビューアーの user_id/email がわかっている場合は、Engine_Api::_()->user()->getUser($user_id)

于 2011-12-24T17:41:24.927 に答える
0

次を使用することもできます$this->viewer()->getIdentity()

于 2012-01-08T12:13:40.083 に答える
0

これにより、プロファイル リンク付きの画像が印刷されます。

<?php
$member2 = Engine_Api::_()->user()->getUser($user_id);
echo $this->htmlLink($member2->getHref(), $this->itemPhoto($member2, 'thumb.icon'), array('class' => 'placement_members_icon'))

?>

最初の行を目的のユーザーIDに置き換え$user_idます....任意のテーブルまたはユーザーテーブルから簡単に取得できます

于 2012-04-17T11:17:16.143 に答える