2011-12-22 200 views
1

我试图用SocialEngine Zend公司获取用户的个人资料图片

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

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

的这 - >观众获得用户的个人资料图片得到谁正在查看的页面和输出的人他们的user_id和一个链接。我模仿了输出,但它拒绝接受它。它错误与'项目必须是一个有效的项目。“我已经通过代码搜索,当用户上传图像时出于某种原因被哈希,并放入哈希文件夹,我不能只从拉。但使用上述功能做如果我想获得别人除了当前浏览器或pageSubject的个人资料图片不能正常工作。有谁知道如何得到这个东西的工作?

缺乏socialengine帮助和可怕的API使这种努力。

+0

打开它显示用户的个人资料图片视图脚本轻松搞定。在那里你可以跟踪它 – emaillenin 2011-12-24 13:42:53

+0

我见过的视图脚本,他们是一样的。我的问题是,观众()创建一个“项目”的实例,我无法重新创建,无论我尝试。我已经进一步跟踪这个viewer()函数,并且进入我的兔子洞的更远处。 – tiggles 2011-12-26 18:31:39

+0

说如果用户A登录并且他正在查看用户B的配置文件。现在你想获得用户A的个人资料照片或用户B的个人资料照片? – emaillenin 2011-12-27 04:22:58

回答

4

$this->viewer()实际上是登录用户的对象。如果你的用户是不是在这个代码将不能输出任何东西

编辑记录:。这是用户对象。您可以使用Engine_Api::_()->user()->getViewer()或者,如果你知道观众的USER_ID /电子邮件,Engine_Api::_()->user()->getUser($user_id)

+0

我了解查看器,但viewer()函数本身传递其他变量并从抽象中创建一个项目,我似乎无法重新创建。 – tiggles 2011-12-26 18:30:01

+0

这是用户对象。您可以使用'Engine_Api :: _() - > user() - > getViewer()' 或者如果您知道user_id/email, 'Engine_Api :: _() - > user() - > getUser($ user_id)' – Salman 2011-12-27 04:14:27

+0

谢谢。这工作。工作代码在上面。 – tiggles 2011-12-27 16:15:12

0

你也可以使用:$this->viewer()->getIdentity()

+0

哦,用户B会是:$ this-> subject() - > getOwner() - > getIdentity() – 2012-01-08 12:16:06

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 ....,你可以从任何表或用户表

相关问题