1<#setting locale="pt_BR">
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
4<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
5
6<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
7<#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticle.getResourcePrimKey()) />
8<#assign eventCategories = getEventCategories(assetEntry.getCategories()) />
9
10<#assign title = .vars['reserved-article-title'].data />
11<#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
12<#assign dateFormat = "yyyy-MM-dd">
13
14<#assign webContentData = jsonFactoryUtil.createJSONObject(local.getData()) />
15
16<#if webContentData?? && webContentData.classPK??>
17 <#assign assetEntry = AssetEntryLocalService.getEntry(webContentData.className, getterUtil.getLong(webContentData.classPK)) />
18 <#assign assetRenderer = assetEntry.getAssetRenderer() />
19 <#assign journalArticle = assetRenderer.getAssetObject() />
20</#if>
21
22<#assign preferences = freeMarkerPortletPreferences.getPreferences({
23 "portletSetupPortletDecoratorId": "borderless",
24 "portletSetupDisplayStyle": "ddmTemplate_39869"
25}) />
26
27<#if request.getParameter("acquired")?has_content>
28 <#assign acquired = request.getParameter("acquired") />
29</#if>
30
31<#assign images_folder = themeDisplay.getPathThemeImages() />
32
33<#assign classificationsImageMap = {
34 "age18": images_folder + "/classifications/age18.svg",
35 "age16": images_folder + "/classifications/age16.svg",
36 "age14": images_folder + "/classifications/age14.svg",
37 "age12": images_folder + "/classifications/age12.svg",
38 "age10": images_folder + "/classifications/age10.svg",
39 "everyone": images_folder + "/classifications/everyone.svg"
40} />
41
42<#assign classificationsTextMap = {
43 "age18": "Não recomendado para menores de 18 anos",
44 "age16": "Não recomendado para menores de 16 anos",
45 "age14": "Não recomendado para menores de 14 anos",
46 "age12": "Não recomendado para menores de 12 anos",
47 "age10": "Não recomendado para menores de 10 anos",
48 "everyone": "Classificação Livre"
49} />
50
51<#assign classification = eventClassification.getData() />
52
53<div class="event">
54 <#if eventThumbnail.getData()?has_content && eventThumbnail.getData() != "">
55 <div class="card banner banner-destaque banner-full">
56 <div
57 class="banner-img-wrapper lazy-image"
58 style="background-image: url('${eventThumbnail.getData()}&imageThumbnail=2')"
59 >
60 <img class="card-img" data-fileentryid="${eventThumbnail.getAttribute('fileEntryId')}" src="${eventThumbnail.getData()}" />
61 <div class="card-img-mask"></div>
62 </div>
63 <div class="card-img-overlay">
64 <div class="position-absolute w-100 h-100 d-flex align-items-end justify-content-center">
65 <div class="d-none d-lg-block c-mb-n20">
66 <@getActions />
67 </div>
68 <div class="d-lg-none c-mb-n16">
69 <@getActions />
70 </div>
71 </div>
72 <div class="container h-100">
73 <div class="d-flex flex-column h-100">
74 <@liferay_portlet["runtime"]
75 portletName="com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet"
76 defaultPreferences="${preferences}"
77 />
78 </div>
79 </div>
80 </div>
81 </div>
82 </#if>
83
84 <div class="container c-pt-32 c-pt-lg-5 py-5">
85 <div class="row gutters-24">
86 <div class="col-lg-8">
87 <div class="border-lg-bottom border-gray-ligther c-pb-0 c-pb-lg-32 c-mb-4 c-mb-lg-32">
88 <#if eventCategories?has_content>
89 <div class="d-flex flex-nowrap align-items-center overflow-auto mb-3">
90 <#list eventCategories as category>
91 <@getBadge category />
92 </#list>
93 <#if showFreeTicketTag.getData()?has_content && showFreeTicketTag.getData()?matches("true")>
94 <span
95 class="badge text-gray-dark mr-4"
96 style="background-color: #F7C625;"
97 >
98 <span class="badge-item badge-item-expand">
99 Gratuito - Sujeito a Lotação
100 </span>
101 </span>
102 </#if>
103 </div>
104 </#if>
105
106 <h2 class="text-dark semi-bold mb-4">${title}</h2>
107
108 <ul class="list-unstyled">
109 <#if eventStartDate.getData()?has_content>
110 <li class="d-flex align-items-center h5 text-gray-dark">
111 <i class="las la-clock fs-24 mr-2"></i>
112 ${eventStartDate.getData()?datetime(dateFormat)?string["EEE, d MMM"]}
113 <#if eventEndDate.getData()?has_content>
114 a ${eventEndDate.getData()?datetime(dateFormat)?string["EEE, d MMM"]}
115 </#if>
116 <#if eventStartHour.getData()?has_content>
117 • ${eventStartHour.getData()}h
118 </#if>
119 <#if eventEndHour.getData()?has_content>
120 - ${eventEndHour.getData()}h
121 </#if>
122 </li>
123 </#if>
124 <li class="d-flex align-items-center h5 text-gray-dark mt-3">
125 <i class="las la-map-marker bold fs-24 mr-2"></i>
126 <#if (webContentData?has_content && webContentData.classPK??)>
127 ${webContentData.title}
128 <#else>
129 ${GrupoDeCampos75302627.eventPlace.getData()}
130 </#if>
131 </li>
132 </ul>
133 </div>
134
135 <div class="d-lg-none">
136 <@liferay_portlet["runtime"]
137 instanceId="event_tickets_mobile"
138 portletName="sescportaleventticketsweb"
139 />
140 </div>
141
142 <#if acquired?has_content && acquired?lower_case?matches("true")>
143 <div class="c-mb-4 c-mb-lg-32">
144 <h4 class="text-dark semi-bold mb-3">Os ingressos foram enviados para:</h4>
145 <p class="text-gray-dark mb-3">
146 Para acessar seus ingressos vá e <a class="btn btn-link d-inline-block p-0" href="${themeDisplay.getPortalURL()}/meus-ingressos">Meu Sesc > Meus Ingressos</a> no nosso site.
147 </p>
148 <p class="text-gray-dark">
149 Ao acessar meus ingressos, você poderá adicioná-lo a sua carteira ou imprimi-los..
150 </p>
151 </div>
152 <#else>
153 <div class="c-mb-4 c-mb-lg-32">
154 <h4 class="text-dark semi-bold mb-3">Descrição do evento</h4>
155 <p class="text-gray-dark text-justify">
156 ${eventDescription.getData()?replace("<p>", "")?replace("</p>", "")}
157 </p>
158 </div>
159
160 <#if (webContentData?has_content && webContentData.classPK??)>
161 <@liferay_journal["journal-article"]
162 articleId=journalArticle.getArticleId()
163 ddmTemplateKey=journalArticle.getDDMTemplateKey()
164 groupId=assetEntry.getGroupId()
165 />
166 <#else>
167 <@getLocation />
168 </#if>
169
170 <div class="c-mb-4 c-mb-lg-32">
171 <h4 class="text-dark semi-bold mb-3">Mais informações</h4>
172
173 <ul class="list-unstyled">
174 <#if instagramLink.getData()?has_content>
175 <li>
176 <a
177 class="btn btn-link justify-content-start py-2"
178 href="${instagramLink.getData()}"
179 target="_blank"
180 >
181 <i class="lab la-instagram fs-24 mr-2"></i>
182 <span class="semi-bold">Instagram</span>
183 </a>
184 </li>
185 </#if>
186
187 <#if twitter.getData()?has_content>
188 <li>
189 <a
190 class="btn btn-link justify-content-start py-2"
191 href="${twitter.getData()}"
192 target="_blank"
193 >
194 <svg
195 width="24"
196 height="22"
197 viewBox="0 0 24 22"
198 fill="none"
199 xmlns="http://www.w3.org/2000/svg"
200 >
201 <g clip-path="url(#clip0_2573_23546)">
202 <path
203 d="M18.9014 0H22.5813L14.5415 9.18937L24 21.6937H16.5938L10.7935 14.1097L4.15636 21.6937H0.473859L9.07331 11.8648L0 0H7.5937L12.837 6.93187L18.9014 0ZM17.6097 19.4909H19.649L6.48577 2.0872H4.29764L17.6097 19.4909Z"
204 fill="#208BDC"
205 />
206 </g>
207 <defs>
208 <clipPath id="clip0_2573_23546">
209 <rect width="24" height="21.6937" fill="white"/>
210 </clipPath>
211 </defs>
212 </svg>
213
214 <span class="semi-bold ml-2">X (Twitter)</span>
215 </a>
216 </li>
217 </#if>
218
219 <#if spotify.getData()?has_content>
220 <li>
221 <a
222 class="btn btn-link justify-content-start py-2"
223 href="${spotify.getData()}"
224 target="_blank"
225 >
226 <i class="lab la-spotify fs-24 mr-2"></i>
227 <span class="semi-bold">Spotify</span>
228 </a>
229 </li>
230 </#if>
231
232 <#if tiktok.getData()?has_content>
233 <li>
234 <a
235 class="btn btn-link justify-content-start py-2"
236 href="${tiktok.getData()}"
237 target="_blank"
238 >
239 <svg
240 width="24"
241 height="24"
242 viewBox="0 0 24 24"
243 fill="none"
244 xmlns="http://www.w3.org/2000/svg"
245 >
246 <path
247 d="M19.5888 6.686C18.5902 6.47238 17.6858 5.94535 17.0077 5.18175C16.3295 4.41816 15.913 3.45791 15.8188 2.441V2H12.3738V15.672C12.3717 16.2773 12.18 16.8667 11.8256 17.3574C11.4712 17.848 10.972 18.2154 10.3981 18.4077C9.82418 18.6 9.20443 18.6077 8.62593 18.4297C8.04743 18.2516 7.53927 17.8968 7.17284 17.415C6.80072 16.9252 6.5943 16.3296 6.5835 15.7145C6.57271 15.0995 6.7581 14.497 7.11281 13.9944C7.46751 13.4918 7.97307 13.1153 8.55619 12.9194C9.1393 12.7235 9.76966 12.7185 10.3558 12.905V9.405C9.04869 9.2243 7.71775 9.45669 6.54919 10.0697C5.38062 10.6826 4.43288 11.6455 3.83852 12.8237C3.24416 14.0018 3.03291 15.3363 3.23432 16.6404C3.43573 17.9445 4.03973 19.1531 4.96184 20.097C5.8412 20.9968 6.96872 21.6141 8.20049 21.8701C9.43226 22.1262 10.7124 22.0094 11.8775 21.5346C13.0426 21.0599 14.0398 20.2487 14.7418 19.2047C15.4438 18.1606 15.8188 16.9311 15.8188 15.673V8.687C17.2111 9.68234 18.8804 10.216 20.5918 10.213V6.79C20.2548 6.79042 19.9186 6.75556 19.5888 6.686Z"
248 fill="#208BDC"
249 />
250 </svg>
251
252 <span class="semi-bold ml-2">Tiktok</span>
253 </a>
254 </li>
255 </#if>
256
257 <#if facebook.getData()?has_content>
258 <li>
259 <a
260 class="btn btn-link justify-content-start py-2"
261 href="${facebook.getData()}"
262 target="_blank"
263 >
264 <i class="lab la-facebook-f fs-24 mr-2"></i>
265 <span class="semi-bold">Facebook</span>
266 </a>
267 </li>
268 </#if>
269
270 <#if youtube.getData()?has_content>
271 <li>
272 <a
273 class="btn btn-link justify-content-start py-2"
274 href="${youtube.getData()}"
275 target="_blank"
276 >
277 <i class="lab la-youtube fs-24 mr-2"></i>
278 <span class="semi-bold">Youtube</span>
279 </a>
280 </li>
281 </#if>
282
283 <#if site.getData()?has_content>
284 <li>
285 <a
286 class="btn btn-link justify-content-start py-2"
287 href="${site.getData()}"
288 target="_blank"
289 >
290 <i class="las la-link fs-24 mr-2"></i>
291 <span class="semi-bold">Site</span>
292 </a>
293 </li>
294 </#if>
295
296 <#if WhatsApp.getData()?has_content>
297 <li>
298 <a
299 class="btn btn-link justify-content-start py-2"
300 href="${WhatsApp.getData()}"
301 target="_blank"
302 >
303 <i class="lab la-whatsapp fs-24 mr-2"></i>
304 <span class="semi-bold">WhatsApp</span>
305 </a>
306 </li>
307 </#if>
308
309 <#if classification?has_content>
310 <li class="d-flex align-items-center py-2">
311 <img src="${classificationsImageMap[classification]}" style="width: 24px; height: 24px;" />
312 <p class="text-gray-dark ml-2">
313 ${classificationsTextMap[classification]}
314 </p>
315 </li>
316 </#if>
317
318 <li class="d-flex flex-column flex-md-row align-items-md-center py-2">
319 <#if phone.getData()?has_content>
320 <span class="d-flex align-items-center mr-md-4">
321 <i class="las la-phone fs-24 bold mr-2"></i>
322 ${phone.getData()}
323 </span>
324 </#if>
325
326 <#if email.getData()?has_content>
327 <span class="d-flex align-items-center mt-3 mt-md-0">
328 <i class="las la-envelope fs-24 mr-2"></i>
329 ${email.getData()}
330 </span>
331 </#if>
332 </li>
333 </ul>
334 </div>
335 </#if>
336
337 <h4 class="text-dark semi-bold mb-3">Política do evento</h4>
338
339 <#if (eventPolicyNotice.getData()?has_content) && (eventPolicyNotice.getData()?lower_case?matches("true"))>
340 <p class="text-gray-dark semi-bold mb-3">Atenção!</p>
341 <p class="text-gray-dark mb-3">
342 A retirada do ingresso para o evento é obrigatória, mas não garante a sua entrada no mesmo. Chegue com antecedência e garanta seu lugar. Pessoas sem ingresso não poderão entrar no evento.
343 </p>
344 </#if>
345
346 <#if (ticketCancellationPolicy.getData()?has_content) && (ticketCancellationPolicy.getData()?lower_case?matches("true"))>
347 <p class="text-gray-dark semi-bold mb-3">Cancelamento de ingresso adquirido</p>
348
349 <p class="text-gray-dark">
350 Caso desista de ir ao evento, acesse
351 <a
352 class="btn btn-link d-inline-block p-0"
353 href="${themeDisplay.getPortalURL()}/group/guest/meus-ingressos"
354 >
355 Meus Ingressos
356 </a>
357 e clique em “cancelar pedido”. O SESC agradece a sua colaboração!
358 </p>
359 </#if>
360
361 <#if getterUtil.getBoolean(AddTermsPDF.getData())>
362 <div class="anexos pt-5">
363 <h4 class="text-dark semi-bold mb-3">Documentação</h4>
364
365 <#if (termsDocumentFolderId.getData())??>
366 <#assign DLFolderLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService") />
367 <#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
368 <#assign classPK = getterUtil.getLong(termsDocumentFolderId.getData()) />
369 <#assign folder = DLFolderLocalService.getDLFolder(classPK) />
370 <#assign fileEntries = DLFileEntryLocalService.getFileEntries(folder.getGroupId(), folder.getFolderId())?filter(file -> !file.isInTrash()) />
371
372 <#if fileEntries?has_content>
373 <div class="list-group">
374 <#list fileEntries as curFile>
375 <a
376 href="${getArticleDLEntryUrl(curFile)}"
377 class="list-group-item list-group-item-flex align-items-center bg-blue-50 p-4"
378 target="_blank"
379 >
380 <div class="autofit-col p-0">
381 <div class="sticker fs-32 text-blue">
382 <span class="inline-item">
383 <#if curFile.getExtension() != "pdf">
384 <i class="las la-file-alt"></i>
385 <#else>
386 <i class="las la-file-pdf"></i>
387 </#if>
388 </span>
389 </div>
390 </div>
391
392 <div class="autofit-col px-3">
393 <h4 class="text-dark semi-bold text-truncate m-0">${curFile.getTitle()}</h4>
394 </div>
395 </a>
396 </#list>
397 </div>
398 </#if>
399 </#if>
400
401 <style>
402 .list-group-item {
403 border: 0;
404 border-radius: 0.5rem !important;
405 overflow: hidden;
406 }
407
408 .list-group-item:hover {
409 text-decoration: none;
410 }
411
412 .list-group-item::before {
413 content: "";
414 background: var(--blue-600);
415 position: absolute;
416 left: 0;
417 width: 2px;
418 top: 1.5rem;
419 bottom: 1.5rem;
420 }
421 </style>
422 </div>
423 </#if>
424 </div>
425
426 <#if (ticketOption.getData())??>
427 <div
428 class="col-lg-4 d-none d-lg-block"
429 data-ticket-type="${ticketOption.getData()}"
430 >
431 <#if (ticketOption.getData() != "sympla")>
432 <@liferay_portlet["runtime"]
433 instanceId="event_tickets"
434 portletName="sescportaleventticketsweb"
435 />
436 <#else>
437 <div class="card card-shadow-elevated rounded-lg overflow-hidden">
438 <div class="card-header bg-blue-900 p-3">
439 <h4 class="text-white semi-bold">Ingresso</h4>
440 </div>
441 <div class="card-body bg-white p-3">
442 <a
443 class="btn btn-primary btn-block"
444 href="${symplaLink.getData()}"
445 target="_blank"
446 >
447 Adquirir ingresso
448 </a>
449 </div>
450 </div>
451 </#if>
452 </div>
453 </#if>
454 </div>
455 </div>
456</div>
457
458<#macro getLocation>
459 <div class="c-mb-4 c-mb-lg-32">
460 <h4 class="text-dark semi-bold mb-3">Como chegar?</h4>
461 <div class="row gutters-24">
462 <div class="col-md-4 mb-3 mb-lg-0">
463 <span class="d-block text-dark semi-bold mb-3">
464 ${GrupoDeCampos75302627.eventPlace.getData()}
465 </span>
466 ${GrupoDeCampos75302627.addressLine.getData()} ${GrupoDeCampos75302627.addressComplement.getData()} - ${GrupoDeCampos75302627.addressLocality.getData()}, ${GrupoDeCampos75302627.CampoDeTexto83310334.getData()} - ${GrupoDeCampos75302627.addressRegion.getData()}, ${GrupoDeCampos75302627.postalCode.getData()}
467 </div>
468 <#if GrupoDeCampos75302627.eventMap.getData()?has_content>
469 <div class="col-md-8">
470 ${GrupoDeCampos75302627.eventMap.getData()?replace('width="600"', 'width="100%"')}
471 </div>
472 </#if>
473 </div>
474 </div>
475</#macro>
476
477<#macro getActions>
478 <div class="d-flex align-items-center">
479 <a
480 class="btn btn-action lfr-portal-tooltip mr-4"
481 href="${eventThumbnail.getData()}?imageThumbnail=1"
482 target="_blank"
483 >
484 <i class="las la-expand-arrows-alt"></i>
485 </a>
486
487 <button
488 class="btn btn-action lfr-portal-tooltip mr-4"
489 title="Favoritar"
490 onClick="toggleFavorite(this)"
491 >
492 <i class="lar la-heart"></i>
493 </button>
494
495 <button class="btn btn-share lfr-portal-tooltip">
496 <div class="share">
497 <ul class="nav flex-nowrap align-items-center">
498 <li class="nav-item">
499 <a
500 class="nav-link lfr-portal-tooltip"
501 href="https://www.facebook.com/sharer.php?u=${currentUrl}"
502 title="Facebook"
503 target="_blank"
504 >
505 <i class="lab la-facebook-f"></i>
506 </a>
507 </li>
508
509 <li class="nav-item">
510 <a
511 class="nav-link lfr-portal-tooltip"
512 href="https://www.instagram.com/?url=${currentUrl}"
513 title="Instagram"
514 target="_blank"
515 >
516 <i class="lab la-instagram"></i>
517 </a>
518 </li>
519
520 <li class="nav-item">
521 <a
522 class="nav-link lfr-portal-tooltip"
523 href="https://www.linkedin.com/shareArticle?mini=true&url=${currentUrl}&title=${title}"
524 title="LinkedIn"
525 target="_blank"
526 >
527 <i class="lab la-linkedin-in"></i>
528 </a>
529 </li>
530
531 <li class="nav-item">
532 <a
533 class="nav-link lfr-portal-tooltip"
534 href="http://twitter.com/intent/tweet?text=${title}%0AVeja%20mais%20em:&url=${currentUrl}"
535 title="Twitter"
536 target="_blank"
537 >
538 <i class="lab la-twitter"></i>
539 </a>
540 </li>
541
542 <li class="nav-item">
543 <span
544 class="btn nav-link lfr-portal-tooltip"
545 title="Copiar link"
546 onClick="copyToClipboard('${currentUrl}')"
547 >
548 <i class="las la-link"></i>
549 </span>
550 </li>
551 </ul>
552 </div>
553 <i class="las la-share"></i>
554 </button>
555 </div>
556
557 <script>
558 function toggleFavorite(favorite) {
559 const favoriteIcon = favorite.querySelector('i');
560
561 if (favorite.classList.contains('active')) {
562 favorite.classList.remove('active');
563 favoriteIcon.classList.remove('las');
564 favoriteIcon.classList.add('lar');
565 favorite.setAttribute('title', 'Favoritar');
566 } else {
567 favorite.classList.add('active');
568 favoriteIcon.classList.remove('lar');
569 favoriteIcon.classList.add('las');
570 favorite.setAttribute('title', 'Desfavoritar');
571 }
572 }
573
574 function copyToClipboard(text) {
575 navigator.clipboard.writeText(text);
576 Liferay.Util.openAlert({
577 title: "Link copiado com sucesso!",
578 placement: "top-center",
579 });
580 }
581 </script>
582</#macro>
583
584<#macro getBadge category>
585 <#assign categoryId = category.getCategoryId() />
586 <#assign categoryColorProperty = getCategoryProperty(categoryId, 'color') />
587 <#assign categoryColor = "#" + categoryColorProperty?has_content?then(categoryColorProperty.getValue(), "208bdc") />
588
589 <span
590 class="badge text-white mr-4"
591 style="background-color: ${categoryColor}"
592 >
593 <span class="badge-item badge-item-expand">
594 ${category.getName()}
595 </span>
596 </span>
597</#macro>
598
599<#function getEventCategories categories>
600 <#assign categoryList = [] />
601
602 <#if categories?has_content>
603 <#list categories as category>
604 <#assign vocabulary = assetVocabularyLocalService.getVocabulary(category.vocabularyId) />
605
606 <#if vocabulary.getName()?lower_case == "eventos">
607 <#assign categoryList = categoryList + [category] />
608 <#elseif vocabulary.getName()?lower_case == "unidades">
609 <#assign categoryList = categoryList + [category] />
610 </#if>
611 </#list>
612 </#if>
613
614 <#return categoryList />
615</#function>
616
617<#function getCategoryProperty categoryId key>
618 <#local assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
619 <#local assetCategoryProperties = assetCategoryPropertyLocalService.getCategoryProperties(categoryId) />
620 <#local assetCategoryProperty = "" />
621
622 <#if assetCategoryProperties?has_content>
623 <#list assetCategoryProperties as curAssetCategoryProperty>
624 <#if curAssetCategoryProperty.getKey()?lower_case == key?lower_case>
625 <#local assetCategoryProperty = curAssetCategoryProperty>
626 </#if>
627 </#list>
628 </#if>
629
630 <#return assetCategoryProperty>
631</#function>
632
633<#function getArticleDLEntryUrl xmlValue>
634 <#local docUrl = "" />
635
636 <#if xmlValue?has_content>
637 <#local jsonObject = xmlValue />
638 <#local entryUuid = jsonObject.uuid />
639 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
640 <#local dlFileEntry = DLFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
641 <#local assetEntry = AssetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
642 <#if assetEntry.assetRenderer?has_content && assetEntry.assetRenderer??>
643 <#local assetRenderer = assetEntry.assetRenderer />
644 <#local docUrl = assetRenderer.getURLDownload(themeDisplay) />
645 <#else>
646 <#local docUrl = "#" />
647 </#if>
648 </#if>
649
650 <#return docUrl?remove_ending("&download=true") />
651</#function>