Forums

Home » Liferay Portal » English » 3. Development

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
pratty M
Making Public & Private Pages as Left Navigation Panel Tabs
June 5, 2014 4:15 AM
Answer

pratty M

Rank: Regular Member

Posts: 112

Join Date: February 5, 2014

Recent Posts

Hello all,

I am trying to make Public and Private Pages as Tabs of Side navigation portlet. But I am stuck, as the links for Public and Private pages in control panel are dynamically generated,. so how should I proceed ??

Can anyone help ??

Thanks in advance
Sandip Patel
RE: Making Public & Private Pages as Left Navigation Panel Tabs
June 6, 2014 2:03 AM
Answer

Sandip Patel

Rank: Regular Member

Posts: 188

Join Date: January 4, 2011

Recent Posts

Hi,
You can go with Liferay OOTB Navigation porltet and create hook and customize your own way to display public and private page.
If this solution becomes complex then you can create your custom porltet and with use of list of Layouts(Pages) u can display link which you want to display

Regards,
Sandip Patel
Subhash Pavuskar
RE: Making Public & Private Pages as Left Navigation Panel Tabs
June 9, 2014 12:49 AM
Answer

Subhash Pavuskar

Rank: Regular Member

Posts: 234

Join Date: March 12, 2012

Recent Posts

Hi,

If you want to display Public and private page as a left navigation bar then create theme in and in _diff/templates folder create vm file(Eg :side_navigation.vm)
and do something like below snippet
 1#foreach($group in $user.getGroups())
 2                        #if ($group.descriptiveName==$siteName)
 3                                    #set ($globalLayouts_private = $layoutLocalService.getLayouts($group.groupId,true,0))
 4                                       #set ($globalLayouts_public = $layoutLocalService.getLayouts($group.groupId,false,0))
 5                                  #foreach ($private_layout in $globalLayouts_private)
 6                                      <li><a href="$portalUtil.getLayoutFriendlyURL($private_layout, $theme_display)?siteName=$siteName"> $private_layout.getName($locale) </a></li>
 7                                            #if($private_layout.hasChildren())
 8                                                <div>
 9                                                     <ul>
10                                                         <li><a href="$portalUtil.getLayoutFriendlyURL($private_layout, $theme_display)?siteName=$siteName"> $private_layout.getName($locale) </a></li>
11                                                        #foreach($private_layout_chilld in $private_layout.getAllChildren())
12                                                            <div>
13                                                                 <ul>
14                                                                    <li>
15                                                                        <a href="$portalUtil.getLayoutFriendlyURL($private_layout_chilld, $theme_display)?siteName=$siteName"> $private_layout_chilld.getName($locale)</a>
16                                                                    </li>
17                                                                </ul>
18                                                            </div>
19                                                        #end
20                                                    </ul>
21                                                 </div>
22                                             #end
23                                #end
24                   
25                                  #foreach ($public_layout in $globalLayouts_public)
26                                    <li><a href="$portalUtil.getLayoutFriendlyURL($public_layout, $theme_display)?siteName=$siteName">$public_layout.getName($locale)</a></li>
27                                                #if($public_layout.hasChildren())
28                                                    <div>
29                                                         <ul>
30                                                         <li><a href="$portalUtil.getLayoutFriendlyURL($public_layout, $theme_display)?siteName=$siteName">$public_layout.getName($locale)</a></li>
31                                                                #foreach($public_layout_chilld in $public_layout.getAllChildren())
32                                                                    <div>
33                                                                         <ul>
34                                                                            <li>
35                                                                                <a href="$portalUtil.getLayoutFriendlyURL($public_layout_chilld, $theme_display)?siteName=$siteName">$public_layout_chilld.getName($locale)</a>
36                                                                            </li>
37                                                                        </ul>
38                                                                    </div>
39                                                                #end
40                                                        </ul>   
41                                                    </div>
42                                                #end
43                                #end
44                        #end
45                 #end


And in portal_normal add this code

1#if ($is_signed_in)
2            <div id="menu" style="float:left;width:20%; background-color:#882345;padding: 3px;margin-top: 8px;">
3                #if ($has_navigation || $is_signed_in)
4                    #parse ("$full_templates_path/side_navigation.vm")
5                #end
6            </div>
7        #end


hope above may help you .