【问题标题】:SocialEngine Zend getting user profile pictureSocialEngine Zend 获取用户头像
【发布时间】:2011-12-22 20:40:49
【问题描述】:

我正在尝试使用

获取用户个人资料图片
$this->itemPhoto($this->viewer(), 'thumb.icon');

或

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

this->viewer 获取正在查看页面的人并输出他们的 user_id 和一个链接。我模仿了它的输出,但它拒绝接受它。它出现“项目必须是有效项目”的错误。”我搜索了代码,当用户上传图像时,由于某种原因它被散列并放入我不能从中提取的散列文件夹中。但使用上述函数可以如果我想获取除当前查看者或 pageSubject 之外的其他人的个人资料图片,则无法正常工作。有人知道如何让这个东西工作吗?

缺乏社交引擎帮助和糟糕的 api 让这变得困难。

【问题讨论】:

  • 打开显示用户头像的视图脚本。在那里你可以追踪它
  • 我看过视图脚本,它们是一样的。我的问题是 viewer() 创建了一个“项目”的实例,无论我尝试什么,我都无法重新创建它。我已经越来越远地追踪这个 viewer() 函数,我在我去的兔子洞里迷路了。
  • 说如果用户 A 已登录并且他正在查看用户 B 的个人资料。现在要获取用户 A 的头像还是用户 B 的头像?
  • 不不,请解决方案作为答案。
  • 不太确定您希望如何显示答案。我看到它是从我的原始帖子中编辑出来的,所以它应该放在我选择正确的答案之下吗?还是就这样吧?很抱歉造成误解。

标签: php zend-framework socialengine


【解决方案1】:

$this->viewer() 实际上是登录用户的对象。如果您的用户未登录,此代码将不会输出任何内容。

编辑:它是用户对象。你可以使用Engine_Api::_()->user()->getViewer() 或者如果你知道查看者的user_id/email,Engine_Api::_()->user()->getUser($user_id)

【讨论】:

  • 我了解查看器,但 viewer() 函数本身会传递其他变量并从我似乎无法重新创建的摘要中创建一个项目。
  • 是用户对象。您可以使用 Engine_Api::_()->user()->getViewer() 或者如果您知道 user_id/email,Engine_Api::_()->user()->getUser($user_id)
【解决方案2】:

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

【讨论】:

  • 哦,用户 B 将是:$this->subject()->getOwner()->getIdentity()
【解决方案3】:

这将打印带有个人资料链接的图像。

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

?>

将第一行中的$user_id 替换为所需的用户ID....您可以从任何表或用户表中轻松获得

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 2019-10-31
    • 2021-11-07
    • 1970-01-01
    • 2013-01-13
    • 2018-08-19
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多