1####
2##
3## Menu lateral (RD)
4##
5####
6
7#set ($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalService"))
8
9#set ($themeDisplay = $request.theme-display)
10#set ($currentLayout = $layoutLocalService.getLayout($getterUtil.getLong($themeDisplay.get("plid"))))
11#set ($currentGroup = $currentLayout.getGroup())
12#set ($currentFriendlyUrl = $themeDisplay.get("path-friendly-url-public") + $currentGroup.getFriendlyURL() + $currentLayout.getFriendlyURL())
13#set ($currentSiteRootUrl = $themeDisplay.get("path-friendly-url-public") + $currentGroup.getFriendlyURL() + $currentGroup.getFriendlyURL())
14#set ($portalEspecial = $request.portal-especial)
15#set ($portalEspecialUrl = $request.portal-especial-url)
16#set ($portalEspecialSiteUrl = $request.portal-especial-site-url)
17#set ($portalEspecialSiteRootUrl = "/web$portalEspecialSiteUrl$portalEspecialSiteUrl")
18
19#set ($estem_portal_especial = $portalEspecial && !$portalEspecial.isEmpty() &&
20 $portalEspecialUrl && !$portalEspecialUrl.isEmpty())
21
22#macro (isPortalEspecialCurrentContent $link $isCurrent)
23 #if($estem_portal_especial)
24 #if(($portalEspecialUrl.indexOf($link) != -1) || ($link == $portalEspecialSiteRootUrl))
25 #set ($isCurrent = true)
26 #end
27 #end
28#end
29
30#macro (isCurrentMenuUrl $link $isCurrent)
31 #if(($currentFriendlyUrl.indexOf($link) != -1) || ($link == $currentSiteRootUrl))
32 #set ($isCurrent = true)
33 #end
34#end
35
36#macro (applyMenuLevelPortalEspecial $link $listClass)
37 #set ($menuClass = "")
38 #set ($isCurrentPortalEspecial = false)
39 #isPortalEspecialCurrentContent ($link $isCurrentPortalEspecial)
40 #if($isCurrentPortalEspecial)
41 #if($link == $portalEspecialUrl)
42 #set ($menuClass = " bg_especial webespecial-path active webespecial-current")
43 #else
44 #set ($menuClass = " webespecial-path active")
45 #end
46 #end
47 #set ($listClass = $listClass + $menuClass)
48#end
49
50#macro (applyMenuLevel $link $te_subblocs $listClass)
51 ###Elimininem possible idioma (cutre)
52 #set ($deflink = $link.replaceFirst("^/ca/", "/"))
53 #set ($deflink = $deflink.replaceFirst("^/es/", "/"))
54 #set ($deflink = $deflink.replaceFirst("^/en/", "/"))
55
56 #set ($menuClass = "")
57 #if($te_subblocs)
58 #set ($menuClass = "$menuClass drop")
59 #end
60 #set ($listClass = $menuClass)
61 #applyMenuLevelPortalEspecial($deflink $listClass)
62#end
63
64#macro (getSublocContentRD2 $parentBloc $countBloc $countListBloc)
65 #set ($hi_ha_subblocs = $parentBloc.sub_bloc &&
66 $parentBloc.sub_bloc.getSiblings() &&
67 !$parentBloc.sub_bloc.getSiblings().isEmpty() &&
68 !$parentBloc.sub_bloc.getSiblings().get(0).enllac.getData().isEmpty() &&
69 !$parentBloc.sub_bloc.getSiblings().get(0).text.getData().isEmpty())
70 #if ($hi_ha_subblocs)
71 #set($countSubBloc = 1)
72 #set($subblocId="NavRD-Subbloc-" + "$countListBloc" + "-" + "$countSubBloc")
73 <ul>
74 #foreach ($enllac_bloc in $parentBloc.sub_bloc.getSiblings())
75 #set ($target = "")
76 #set ($def_enllac = $enllac_bloc.enllac.getData())
77 #set ($descripcio_enllac = $enllac_bloc.text.getData())
78 #if($enllac_bloc.enllac_descripcio.getData() && !$enllac_bloc.enllac_descripcio.getData().isEmpty())
79 #set ($descripcio_enllac = $enllac_bloc.enllac_descripcio.getData())
80 #end
81 #if($def_enllac && !$def_enllac.isEmpty())
82 #if ($enllac_bloc.extern && $enllac_bloc.extern.getData() == 'true')
83 #set($target = ' target="_blank"')
84 #else
85 ##Afegir idioma? si, sempre i quan la URL no comenci per 'http' o contingui un paràmetre 'idioma' o 'lang'
86 ##que ens faci sospitar que és una URL externa, malgrat no l'hem indicat com a tal (cas anterior).
87 #set( $arrayParams = $def_enllac.split("\?") )
88 #set( $params = "")
89 #if($arrayParams.size()>1)
90 #set( $params = $arrayParams.get(1) )
91 #end
92 #set ($basicEnllac = $def_enllac)
93 #if( ($def_enllac.indexOf("http://")==-1 && $def_enllac.indexOf("https://")==-1) && ($params.indexOf("lang=")<0 && $params.indexOf("idioma=")<0) )
94 #set ($def_enllac = $lang_enllac+$def_enllac) ##afegim l'idioma
95 #end
96 #end
97 #set($conte_subblocs = $enllac_bloc.sub_bloc &&
98 $enllac_bloc.sub_bloc.getSiblings() &&
99 !$enllac_bloc.sub_bloc.getSiblings().isEmpty() &&
100 !$enllac_bloc.sub_bloc.getSiblings().get(0).enllac.getData().isEmpty() &&
101 !$enllac_bloc.sub_bloc.getSiblings().get(0).text.getData().isEmpty())
102 #set ($listClassElement = "")
103 #set ($isCurrentMenuPath = false)
104 #isCurrentMenuUrl($def_enllac $isCurrentMenuPath)
105 #set ($isCurrentPortlEspecial = false)
106 #isPortalEspecialCurrentContent($def_enllac, $isCurrentPortlEspecial)
107 #applyMenuLevel($def_enllac,$conte_subblocs,$listClassElement)
108
109 #if($enllac_bloc.text.data && !$enllac_bloc.text.getData().isEmpty())
110 <li #if(!$listClassElement.isEmtpy()) class='$listClassElement' #end>
111 #if($conte_subblocs)
112 #set ($iconDropMenu = "icon-ico_menumobil_bullet")
113 #if($isCurrentPortlEspecial)
114 #set ($iconDropMenu = "icon-ico_menumobil-obert current")
115 #end
116 <i class="$iconDropMenu dropmenu"></i>
117 #end
118 <a aria-label="${descripcio_enllac} $reserved-article-title.getData().replaceAll("menu_","")" title="${descripcio_enllac}" href="${def_enllac}"${target} #if($isCurrentMenuPath) class="current" #end>
119 ${enllac_bloc.text.getData()}
120 </a>
121 #getSublocContentRD2($enllac_bloc, $countBloc, $subblocId)
122 </li>
123 #end
124 #end
125 #set($countSubBloc=$countSubBloc+1)
126 #end
127 </ul>
128 #end
129#end
130
131
132#set ($lang_enllac = "")
133#if ($locale == $localeUtil.getDefault())
134 #set ($lang_enllac = "")
135#else
136 #if ($listTool.contains($languageUtil.getAvailableLocales(), $locale))
137 #set ($lang_enllac = "/$locale.getLanguage()")
138 #end
139#end
140###Mirem si ens estant cridant des de fora del defaultSite
141#set ($defaultCompanyId = 10202) ###No sembla que tinguem acces de cap altra forma al defaultCompanyId.
142#if ($company.getCompanyId() != $defaultCompanyId)
143 #set ($companyLocalService = $serviceLocator.findService("com.liferay.portal.service.CompanyLocalService"))
144 #set ($defaultCompany = $companyLocalService.getCompanyById($defaultCompanyId))
145 #set ($lang_enllac = "http://"+$defaultCompany.virtualHostname+$lang_enllac)
146#end
147
148#set ($hi_ha_1er_nivell = $columna_menus &&
149 $columna_menus.getSiblings() &&
150 !$columna_menus.getSiblings().isEmpty() &&
151 !$columna_menus.getSiblings().get(0).enllac.getData().isEmpty())
152#set ($target = "")
153#set ($def_enllac = $enllac.getData())
154#set ($descripcio_enllac = $text.getData())
155#if($enllac_descripcio.getData() && !$enllac_descripcio.getData().isEmpty())
156 #set ($descripcio_enllac = $enllac_descripcio.getData())
157#end
158#set ($basicEnllac = $def_enllac)
159#if ($extern && $extern.getData() == 'true')
160 #set($target = ' target="_blank"')
161#else
162 ##Afegir idioma? si, sempre i quan la URL no comenci per 'http' o contingui un paràmetre 'idioma' o 'lang'
163 ##que ens faci sospitar que és una URL externa, malgrat no l'hem indicat com a tal (cas anterior).
164 #set( $arrayParams = $def_enllac.split("\?") )
165 #set( $params = "")
166 #if($arrayParams.size()>1)
167 #set( $params = $arrayParams.get(1) )
168 #end
169 #if( ($def_enllac.indexOf("http://")==-1 && $def_enllac.indexOf("https://")==-1) && ($params.indexOf("lang=")<0 && $params.indexOf("idioma=")<0) )
170 #set ($def_enllac = $lang_enllac+$def_enllac) ##afegim l'idioma
171 #end
172#end
173#set ($listClassElement = "")
174#set ($isCurrentMenuPath = false)
175#isCurrentMenuUrl($def_enllac $isCurrentMenuPath)
176#set ($isCurrentPortlEspecial = false)
177#isPortalEspecialCurrentContent($def_enllac, $isCurrentPortlEspecial)
178#applyMenuLevel($def_enllac,$hi_ha_1er_nivell,$listClassElement)
179<li class="firstElement $listClassElement">
180 #if($hi_ha_1er_nivell)
181 #set ($iconDropMenu = "icon-ico_menumobil_bullet")
182 #if($isCurrentPortlEspecial)
183 #set ($iconDropMenu = "icon-ico_menumobil-obert current")
184 #end
185 <i class="$iconDropMenu dropmenu" data-menu-nav='nav-$reserved-article-title.getData().replaceAll("menu_","")' data-type="menu"></i>
186 #end
187 <a href="${def_enllac}" aria-label="${descripcio_enllac} $reserved-article-title.getData().replaceAll("menu_","")" title="${descripcio_enllac}" ${target} #if($isCurrentMenuPath) class="current" #end>${text.getData()}</a>
188 #if ($hi_ha_1er_nivell)
189 #set($count=1)
190 <ul>
191 #foreach ($columna in $columna_menus.getSiblings())
192
193 #set($hi_ha_blocs = $columna.sub_bloc &&
194 $columna.sub_bloc.getSiblings() &&
195 !$columna.sub_bloc.getSiblings().isEmpty())
196 #if ($hi_ha_blocs)
197 #foreach ($bloc in $columna.sub_bloc.getSiblings())
198 #if ($bloc.enllac && !$bloc.enllac.getData().isEmpty())
199 #set ($hi_ha_enllacos = $bloc.sub_bloc &&
200 $bloc.sub_bloc.getSiblings() &&
201 !$bloc.sub_bloc.getSiblings().isEmpty() &&
202 !$bloc.sub_bloc.getSiblings().get(0).enllac.getData().isEmpty())
203
204 #set ($target = "")
205 #set ($def_enllac = $bloc.enllac.getData())
206 #set ($descripcio_enllac = $bloc.text.getData())
207 #if($bloc.enllac_descripcio.getData() && !$bloc.enllac_descripcio.getData().isEmpty())
208 #set ($descripcio_enllac = $bloc.enllac_descripcio.getData())
209 #end
210 #if ($bloc.extern && $bloc.extern.getData() == 'true')
211 #set($target = ' target="_blank"')
212 #else
213 ##Afegir idioma? si, sempre i quan la URL no comenci per 'http' o contingui un paràmetre 'idioma' o 'lang'
214 ##que ens faci sospitar que és una URL externa, malgrat no l'hem indicat com a tal (cas anterior).
215 #set( $arrayParams = $def_enllac.split("\?") )
216 #set( $params = "")
217 #if($arrayParams.size()>1)
218 #set( $params = $arrayParams.get(1) )
219 #end
220 #set ($basicEnllac = $def_enllac)
221 #if( ($def_enllac.indexOf("http://")==-1 && $def_enllac.indexOf("https://")==-1) && ($params.indexOf("lang=")<0 && $params.indexOf("idioma=")<0) )
222 #set ($def_enllac = $lang_enllac+$def_enllac) ##afegim l'idioma
223 #end
224 #end
225 #set ($listClassElement = "")
226 #set ($isCurrentMenuPath = false)
227 #isCurrentMenuUrl($def_enllac $isCurrentMenuPath)
228 #set ($isCurrentPortlEspecial = false)
229 #isPortalEspecialCurrentContent($def_enllac, $isCurrentPortlEspecial)
230 #applyMenuLevel($def_enllac,$hi_ha_enllacos,$listClassElement)
231 <li id='navRD-$reserved-article-title.getData().replaceAll("menu_","")-bloc-$count' #if(!$listClassElement.isEmtpy()) class='$listClassElement' #end>
232 #if($hi_ha_enllacos)
233 #set ($iconDropMenu = "icon-ico_menumobil_bullet")
234 #if($isCurrentPortlEspecial)
235 #set ($iconDropMenu = "icon-ico_menumobil-obert current")
236 #end
237 <i class="$iconDropMenu dropmenu"></i>
238 #end
239 <a aria-label="${descripcio_enllac} $reserved-article-title.getData().replaceAll("menu_","")" title="${descripcio_enllac}" href="${def_enllac}"${target} #if($isCurrentMenuPath) class="current" #end>
240 ${bloc.text.getData()}
241 </a>
242 #getSublocContentRD2($bloc, $count, $count)
243 </li>
244 #end ##fi $bloc.enllac && !$bloc.enllac.getData().isEmpty()
245 #if ($bloc.html && !$bloc.html.getData().isEmpty())
246 ##<li>
247 ##$bloc.html.getData()
248 ##</li>
249 #end
250 #set($count=$count+1)
251 #end ##fi foreach bloc
252 #end ##fi if hi_ha_blocs
253 #end
254 </ul>
255 #end
256</li>