使成员肖像可见的匿名用户在Plone 4.1



在Plone 4.1中,我想让匿名用户可以查看成员肖像(在portal_memberdata/portraits中找到)。

即使我在公共视图中返回正确的url给图像,图像也始终受到保护,并且返回默认的url ('defaultUser.png')。

我怎么能做到这一点,并显示作者肖像匿名用户在我的视图?

澄清一下:

author.getPersonalPortrait().absolute_url()

将返回图像的正确url。当浏览器在访问视图时获取图像时,该资源受到保护。

在使用pdb进行了一些尝试之后,我用这种方式解决了这个问题:

def get_author_image(self, member_id):
    """
    Fetch the author portrait image url accoding to member_id
    """
    mtool = getToolByName(self.context, 'portal_membership')
    mtool.getPersonalPortrait(id=member.id)

秘密是传递id kwarg。很奇怪,但它有效。

这不是权限问题,而是getPersonalPortrait返回正确url到图像的方式问题。如果您不指定id,不知何故它将无法计算出正确的成员id,因此退回到显示默认的用户图像。

def __init__(self):
    BaseTool.__init__(self)
    self.portraits=BTreeFolder2(id='portraits')

您必须向portal_memberdata添加View权限。肖像文件夹。

你可以这样做:

http://mysite.xx/portal_memberdata/portraits/manage_main

和管理权限:)肖像是简单的图像

相关内容

  • 没有找到相关文章

最新更新