首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Liferay6中列出“注销”用户的社区?

如何在Liferay6中列出“注销”用户的社区?
EN

Stack Overflow用户
提问于 2012-02-03 21:57:48
回答 1查看 828关注 0票数 0

我正在尝试创建一个社区选择框,使访问者能够跳转到开放的Liferay社区。然而,它似乎只对经过身份验证的用户有效。那么,我如何将“开放”社区列出给所有用户,包括注销的用户?

这是我当前的代码

代码语言:javascript
复制
#set ($myPlaces = $user.getMyPlaces())
    #if($listTool.size($myPlaces) > 0)

        <select id="communitySelector">

        #foreach ($myPlace IN $myPlaces)
            #if ($myPlace.isCommunity())

                #set ($myPlaceURL = ${myPlace.getFriendlyURL()})
                ## Only link if theres pages
                #if ($myPlace.hasPublicLayouts())
                    ## Prefix web for 'public'
                   #set ($myPlaceURL = "${public_pages_url}${myPlaceURL}")

                   ## Select if current community
                     #set($commSelected = "")
                    #if($themeDisplay.getLayout().getGroup().getName() == $myPlace.getName())
                        #set($commSelected = " selected='selected' ")
                    #end
                    <option $commSelected value="${portal_url}${myPlaceURL.toString()}">$myPlace.getName()</option>


               #end

            #end
        #end
            </select>
    #end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-04 15:41:31

在回答我自己的Liferay问题的悠久传统中,下面是我提出的解决方案的代码片段,用于向所有用户列出社区,包括公共/访客注销用户

代码语言:javascript
复制
  ## Grab this service as MyPlaces only available to authenticated users
  #set($groupLocalService =  $serviceLocator.findService("com.liferay.portal.service.GroupLocalService"))

  ## Get all Groups
  #set($groupList = $groupLocalService.getGroups(-1, -1))

  ## Grab all groups that are Communities
  #set($commList = [])
  #foreach($group in $groupList)

    #if($group.isCommunity())

        $commList.add($group)
    #end
  #end

  #foreach($comm in $commList)
    ## Exclude Control Panel which is also validated as Community in LR
    #if($comm.getName()!="Control Panel")
        #if($comm.hasPublicLayouts())
            <a href="$comm.getFriendlyURL()">$comm.getName()</a><br />
         #elseif($comm.hasPrivateLayouts() && $is_signed_in)
            ## Community is private so only print this link if user authenticated
            <a href="$comm.getFriendlyURL()">$comm.getName()</a><br />
         #end
    #end
  #end

编辑-其他人在https://stackoverflow.com/a/8457759/417933上发布了一个类似的代码片段

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9129751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档