1

ユーザーがメンバーになっているプラ​​イベート サイトとパブリック サイトを印刷する際に助けが必要です。

投稿からコードを再取得することにより (ユーザーが Liferay テーマのメンバーであるサイトを取得するにはどうすればよいですか? ) サイトを取得できますが、ユーザーの非公開ページと公開ページも提供されます。

コミュニティまたはサイトのみが必要なため、ユーザーの非公開ページと公開ページを印刷しないようにする方法。

<ul>
    #foreach($site in $user.mySites)
       #if ($site.hasPrivateLayouts())
              <li><a href="/group${site.friendlyURL}">$site.descriptiveName</a></li>
       #end
       #if ($site.hasPublicLayouts())
              <li><a href="/web${site.friendlyURL}">$site.descriptiveName</a></li>
    #end
    #end
</ul>

環境: Liferay 6.1

ありがとう

4

3 に答える 3

1

いくつかの変更を加えて同じコードを使用できると思います。

<ul>
    #foreach($site in $user.mySites)        
        <!-- if it is NOT a user's public or private site only then print it -->
        #if(!$site.isUserPersonalSite())            
            #if ($site.hasPrivateLayouts())
                <li><a href="/group${site.friendlyURL}">$site.descriptiveName</a></li>
            #end

            #if ($site.hasPublicLayouts())
                <li><a href="/web${site.friendlyURL}">$site.descriptiveName</a></li>
            #end
        #end
    #end
</ul>

コードに注意してください。if(!$site.isUserPersonalSite())サイトがユーザーの公開サイトまたは非公開サイト (つまり、ユーザーの公開ページと非公開ページを含む) の場合は、何も印刷しないでください。

于 2013-02-19T12:37:47.823 に答える
1

ユーザーに mysites セクションを使用する代わりに、ユーザー サービスとグループ サービスを使用してユーザー グループを取得する必要があると思います。

#set($userId = $getterUtil.getLong($request.remote-user))
#set($userLocalService = $serviceLocator.findService("com.liferay.portal.service.UserLocalService"))
#set($user = $userLocalService.getUserById($userId))
#set($groupLocalService=$serviceLocator.findService("com.liferay.portal.service.GroupLocalService"))
#set($userGroup = $groupLocalService.getUserGroup($companyId,$getterUtil.getLong($userId)))

$userGroup
于 2012-10-15T06:50:18.547 に答える
0

portal-ext.propertiesin liferay ルートで次のプロパティを更新します

# Deactivate Personal Community with *private* pages:
layout.user.private.layouts.enabled=false   

# Deactivate Personal Community with *public* pages:
layout.user.public.layouts.enabled=false
于 2013-01-18T20:46:51.173 に答える