论坛

主页 » Liferay Portal » English » 3. Development

组合视图 统一视图 树状图
讨论主题 [ 上一个 | 下一个 ]
toggle
Tejas Kanani
How to get user's private page url
2011年9月27日 下午11:32
答复

Tejas Kanani

等级: Liferay Master

帖子: 655

加入日期: 2009年1月6日

最近的帖子

Hi,

How can we get user's private page url?
Like, if we need user's public home page then we can use user.getDisplayURL(themeDisplay).
Do we have any such method for getting user's private page url ?
Anil Sunkari
RE: How to get user's private page url
2011年9月27日 下午11:56
答复

Anil Sunkari

等级: Expert

帖子: 427

加入日期: 2009年8月11日

最近的帖子

If you are looking to get the private url only when user is existed on that page.....So,you can achieve it through themeDisplay.getURLCurrent() i hope.Correct me if you thinking of other scenario.
Sandeep Nair
RE: How to get user's private page url
2011年9月28日 上午12:27
答复

Sandeep Nair

等级: Liferay Legend

帖子: 1721

加入日期: 2008年11月5日

最近的帖子

Tejas Kanani:
Hi,

How can we get user's private page url?
Like, if we need user's public home page then we can use user.getDisplayURL(themeDisplay).
Do we have any such method for getting user's private page url ?



Hi Tejas,

If you see UserImpl where this getDisplayURL is implemented the logic is written for fetching the public page

 1public String getDisplayURL(String portalURL, String mainPath)
 2        throws PortalException, SystemException {
 3
 4        if (isDefaultUser()) {
 5            return StringPool.BLANK;
 6        }
 7
 8        Group group = getGroup();
 9
10        int publicLayoutsPageCount = group.getPublicLayoutsPageCount();
11
12        if (publicLayoutsPageCount > 0) {
13            StringBundler sb = new StringBundler(5);
14
15            sb.append(portalURL);
16            sb.append(mainPath);
17            sb.append("/my_places/view?groupId=");
18            sb.append(group.getGroupId());
19            sb.append("&privateLayout=0");
20
21            return sb.toString();
22        }
23
24        return StringPool.BLANK;
25    }


Just do the same for private ones. by passing privateLayout=1 and checking the condition privateLayoutsPageCount>0

Regards,
Sandeep
Tejas Kanani
RE: How to get user's private page url
2011年10月6日 下午11:12
答复

Tejas Kanani

等级: Liferay Master

帖子: 655

加入日期: 2009年1月6日

最近的帖子

Thanks Sandeep.

Its exactly same what I am looking for.
Cas Stigter
RE: How to get user's private page url
2012年10月9日 上午7:38
答复

Cas Stigter

等级: New Member

帖子: 5

加入日期: 2011年6月28日

最近的帖子

Hi,

I know you found a solution, I just wanted to add an example that doesn't use strings concatenation.
 1
 2    public void run(HttpServletRequest request, HttpServletResponse response)
 3            throws ActionException {
 4       
 5        String path = "";
 6        // attempt to get path to User private page
 7        User user = UserLocalServiceUtil.getUser(PortalUtil.getUserId(request));
 8        // check for private layouts
 9        if (LayoutLocalServiceUtil.hasLayouts(user, true)) {
10            List<Layout> layouts = LayoutLocalServiceUtil.getLayouts(user.getGroupId(), true);
11            if (layouts.size()>1){
12                _log.info("More then 1 private layout found for User while max. 1 is assumed. The last layout is returned.");
13            }
14            for (Layout layout : layouts) {               
15                path = PortalUtil.getLayoutActualURL(layout);
16            }                  
17        }
18
19        if (Validator.isNotNull(path)) {
20            LastPath lastPath = new LastPath(StringPool.BLANK, path,new HashMap<String, String[]>());
21            HttpSession session = request.getSession();
22            session.setAttribute(WebKeys.LAST_PATH, lastPath);
23        }       
24    }


I used this in a post login hook where ThemeDisplay isn't available.
Juan Fernández
RE: How to get user's private page url
2012年10月10日 上午11:37
答复

Juan Fernández

LIFERAY STAFF

等级: Liferay Legend

帖子: 1262

加入日期: 2008年10月2日

最近的帖子

I have created this ticket to avoid this in the future: LPS-30427
Regards,
Juan
sachin maheshwari
RE: How to get user's private page url
2013年9月4日 下午10:30
答复

sachin maheshwari

等级: Junior Member

帖子: 52

加入日期: 2010年12月4日

最近的帖子

This is the one i am looking for sort and simple.