NEORIS signs a global agreement with FacePhi to digitize the onboarding of financial institutions - Asset Display Page
Publicador de Conteúdo
Ocorreu um erro ao processar o template.
Can't compare values of these types. Allowed comparisons are between two numbers, two strings, two dates, or two booleans. Left hand operand is a sequence (wrapper: f.c.AddConcatExpression$ConcatenatedSequence). Right hand operand is a string (wrapper: f.t.SimpleScalar). The blamed expression: ==> variablesTitle != "none" [in template "20099#20135#journal.getDDMTemplateKey()" at line 94, column 10] ---- FTL stack trace ("~" means nesting-related): - Failed at: #if variablesTitle != "none" && varia... [in template "20099#20135#journal.getDDMTemplateKey()" at line 94, column 5] ----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
2<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
4<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") />
5<#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
6<#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
7<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
8<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
9
10<#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
11
12<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
13<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
14<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
15<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() />
16
17
18<#function getContenidosRelacionados entryId1 >
19 <#assign contenidosRelacionados = [] />
20 <#assign assetLinks = assetLinkLocalService.getDirectLinks(entryId1?number) />
21
22 <#list assetLinks as assetLink>
23 <#assign entryId2 = assetLink.getEntryId2() />
24 <#assign contenidosRelacionados = contenidosRelacionados + [assetEntryLocalService.getAssetEntry(entryId2)] />
25 </#list>
26
27 <#return contenidosRelacionados>
28</#function>
29
30
31<#function initializeVariables journalArticle variables>
32 <#assign document = saxReaderUtil.read(journalArticle.getContent()) >
33 <#assign rootElement = document.getRootElement() >
34
35 <#assign values = {} />
36
37 <#list variables as key>
38
39 <#list rootElement.elements() as dynamicElement>
40 <#-- Asignacion -->
41 <#assign repetibleValue = [] />
42 <#assign xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@name='${key}']/dynamic-content[@language-id='${locale}']")>
43
44 <#if !xPathSelector.selectSingleNode(rootElement)??>
45 <#assign xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@name='${key}']/dynamic-content")>
46 </#if>
47
48 <#if xPathSelector.selectSingleNode(rootElement)??>
49 <#assign nodes = xPathSelector.selectNodes(rootElement) />
50 <#if nodes?size > 1>
51 <#list nodes as node>
52 <#assign repetibleValue = repetibleValue + [node.getStringValue()]>
53 </#list>
54 <#else>
55 <#assign value = xPathSelector.selectSingleNode(rootElement).getStringValue() />
56 </#if>
57 <#else>
58 <#assign value = "none" />
59 </#if>
60
61 <#assign values = values + {"${key}" : (repetibleValue?size > 0)?then(repetibleValue, value)} />
62 </#list>
63
64 </#list>
65
66 <#return values />
67</#function>
68
69
70<#assign VOID = freeMarkerPortletPreferences.setValue("groupId", themeDisplay.getScopeGroupId()?string)
71 VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId", "barebone")
72 VOID = freeMarkerPortletPreferences.setValue("articleId", setting) />
73
74<#assign docsRelacionados = []/>
75<#assign entries = getContenidosRelacionados(currentArticleAssetEntryId) />
76
77<#list entries as curEntry>
78 <#assign journalArticle = curEntry.getAssetRenderer().getArticle() />
79 <#assign variables = initializeVariables(journalArticle, ["Title","Document"]) />
80
81 <#if variables.Title?is_enumerable>
82 <#assign variablesTitle = variables.Title[0]>
83 <#else>
84 <#assign variablesTitle = variables.Title>
85 </#if>
86
87 <#if variables.Document?is_enumerable>
88 <#assign variablesDocument = variables.Document[0]>
89 <#else>
90 <#assign variablesDocument = variables.Document>
91 </#if>
92 <#assign variablesTitle = variables.Title>
93 <#assign variablesDocument = variables.Document>
94 <#if variablesTitle != "none" && variablesDocument != "none">
95
96
97 <#assign
98 defImage = variablesDocument?eval
99 imageUUID = defImage["uuid"]
100 imageGroupID = defImage["groupId"]
101 imageFolderID = DLFileEntryLocalService.fetchFileEntry(imageUUID,imageGroupID?number).getFolderId()
102 url = "/documents/" + imageGroupID + "/" + imageFolderID + "/" + defImage["title"] + "/" + imageUUID
103 />
104
105
106
107
108 <#assign docsRelacionados = docsRelacionados + [{"Titular":variablesTitle,"Documento":url}]/>
109 </#if>
110</#list>
111
112
113
114<#assign categorys = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", currentArticle.getResourcePrimKey() )/>
115
116<#assign categorysBlog = "" />
117<#assign tagsBlog = [] />
118
119<#list categorys as categorie>
120 <#if assetVocabularyLocalService.getAssetVocabulary(categorie.getVocabularyId()).name == "Industries" >
121 <#assign categorysBlog = categorie.getTitle(locale) />
122 </#if>
123
124
125 <#if assetVocabularyLocalService.getAssetVocabulary(categorie.getVocabularyId()).name == "Blogs">
126 <#assign tagsBlog = tagsBlog + [categorie.getTitle(locale)] />
127 </#if>
128
129
130</#list>
131
132
133<#list themeDisplay.getURLCurrent()?split("?_com_liferay") as urlFriendly>
134 <#if urlFriendly?index == 0>
135 <#assign currentUrl = themeDisplay.getPortalURL() + urlFriendly />
136 </#if>
137</#list>
138
139
140<style>
141 .h2 {
142 display:none;
143 }
144
145
146 #detailBlog .image-inner {
147 position: relative;
148 width: 100%;
149 overflow: hidden;
150 }
151
152 #detailBlog .image-item {
153 position: relative;
154 display: block;
155 align-items: center;
156 width: 100%;
157 transition: transform .6s ease;
158 backface-visibility: hidden;
159 perspective: 1000px;
160 }
161
162 #detailBlog .imgBackground {
163 width: 100%;
164 height: 700px;
165 object-fit: cover;
166 filter: brightness(75%);
167 }
168
169 #detailBlog .image-caption {
170 position: absolute;
171 top: 20%;
172 bottom: 0;
173 right: 0;
174 left: 0;
175 margin-left: 42%;
176 text-align: left;
177 max-width: 45%;
178 z-index: 10;
179 padding-top: 20px;
180 padding-bottom: 20px;
181 }
182
183
184 #detailBlog .triangle {
185 bottom: -1px;
186 position: absolute;
187 width: 100%;
188 height: 100%;
189 background-color: white;
190 padding: 0 10px 0 0;
191 clip-path: polygon(100% 80%, 0 100%, 100% 100%);
192 }
193
194 #detailBlog .titleBlogDetail {
195 font-weight:bold;
196 color:white;
197 font-size:3rem;
198 }
199
200 #detailBlog .hrBlogs {
201 border: 0;
202 border-top: 1px solid white;
203 margin-top: .1rem;
204 margin-bottom: .1rem;
205 }
206
207 #detailBlog {
208 text-align: justify;
209 }
210
211 .imagenReborde {
212 min-height: 72px;
213 padding: 12px 8px;
214 }
215
216
217
218
219
220 #detailBlog .tagList {
221 float: left;
222 margin-right: 8px;
223 padding: 8px 12px;
224 border-radius: 2px;
225 border: solid 1px #989da1;
226 background-color: #f2f3f3;
227 font-size:0.75rem;
228 font-weight: bold;
229 margin-top: 8px;
230 list-style: none;
231
232 }
233
234 #detailBlog .containerDocumentsAndSocial {
235 margin-top: 20px;
236 }
237
238 #detailBlog .containerSocialMediaDetailEvent {
239 list-style-type: none;
240 padding: 0;
241 margin: 0;
242 }
243
244 #detailBlog .containerSocialMediaDetailEvent li {
245 display: inline-block;
246 font-size: 20px;
247 }
248
249 #detailBlog .containerSocialMediaDetailEvent li a i {
250 color: #1b69d7;
251 padding-right: 15px;
252 }
253
254 #detailBlog .enlaceDoc {
255 color: #000000;
256 border-radius: 2px;
257 border: solid 1px #989da1;
258 background-color: #f2f3f3;
259 padding: 5px;
260 margin: 10px;
261 cursor: pointer;
262 font-weight:bold;
263 font-size:0.75rem;
264 }
265
266 #detailBlog .enlaceDoc:hover {
267 color: white!important;
268 border-radius: 2px;
269 border: solid 1px #1b69d7!important;
270 background-color: #1b69d7!important;
271 }
272
273
274
275
276 #detailBlog .containerSocialMediaDetailEvent2 {
277 list-style-type: none;
278 padding: 0;
279 margin: 0;
280 margin-bottom: 75px;
281 }
282
283 #detailBlog .containerSocialMediaDetailEvent2 li {
284 display: inline-flex;
285 font-size: 20px;
286 padding-right: 10px;
287 }
288
289 #detailBlog .containerSocialMediaDetailEvent2 li a i {
290 color: #1b69d7;
291 padding-right: 10px;
292 }
293
294
295 #detailBlog .containerDocumentsAndSocial2 {
296 margin-top: 20px;
297 text-align: right;
298 }
299
300 #detailBlog #relatedContentDoc span.PDFcolorContainer{
301 color: #007bff!important;
302 }
303
304 #detailBlog #relatedContentDoc span.PDFcolorContainer:hover{
305 color: #0056b3!important;
306 }
307
308
309
310 @media screen and (max-width: 767px) {
311 .hidden-xs {
312 display: none !important;
313 }
314
315 #personCreator {
316 padding:20px;
317 margin:0;
318
319
320 }
321
322 .containerDocumentsAndSocial {
323 display:none;
324 }
325
326 .imagenReborde {
327 border-radius: 4px;
328 border: solid 1px #d1d3d4;
329 }
330
331 .hrOcultoMovil {
332 display:none;
333 }
334
335 #detailBlog .containerDocumentsAndSocial2 {
336 text-align: center;
337 }
338
339 #detailBlog .containerSocialMediaDetailEvent2 {
340 padding: 12px 0px;
341 background: #F2F3F3;
342 }
343
344 }
345
346 @media screen and (min-width: 768px) and (max-width: 991px) {
347 .hidden-sm {
348 display: none !important;
349 }
350 }
351
352
353 @media screen and (min-width: 992px) and (max-width: 1199px) {
354 .hidden-md {
355 display: none !important;
356 }
357 }
358
359
360 @media screen and (min-width: 1200px) {
361 .hidden-lg {
362 display: none !important;
363 }
364
365 #personCreator{
366 margin-top: 2.55em;
367 }
368 }
369
370@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
371 #detailImage{
372 margin-bottom: 3em;
373 }
374}
375
376</style>
377
378
379
380
381<div id="detailBlog">
382
383 <div id="detailImage" class="row">
384 <div class="col-md-12 hidden-xs" style="padding:0;">
385 <div class="image-inner">
386 <div class="image-item">
387 <div style="background: linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('${Image.getData()}') no-repeat center center;
388 background: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('${Image.getData()}') no-repeat center center;
389 background-size: cover;">
390 <img src='${Image.getData()}' class="imgBackground" style="opacity: 0;">
391 </div>
392
393 <div class="image-caption">
394 <h2 style="color:white; font-size:1.5rem;">${categorysBlog}</h2>
395 <h1 class="titleBlogDetail">${Title.getData()}</h1>
396 <hr class="hrBlogs">
397 </div>
398 </div>
399 <div class="triangle"></div>
400 </div>
401
402
403 </div>
404 <div class="col-xs-12 hidden-sm hidden-md hidden-lg " style="padding:0;">
405 <div class="image-inner">
406 <div class="image-item">
407 <div style="background: linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('${Image.getData()}') no-repeat center center;
408 background: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('${Image.getData()}') no-repeat center center;
409 background-size: cover;">
410 <img src='${Image.getData()}' class="imgBackground" style="opacity: 0; height:400px;">
411 </div>
412 <div class="image-caption" style=" margin-left: 10%;
413 max-width: 70%;">
414 <h2 style="color:white; font-size:1.25rem;">${categorysBlog}</h2>
415 <h1 class="titleBlogDetail" style="font-size:2rem;">${Title.getData()}</h1>
416 <hr class="hrBlogs ">
417 </div>
418 </div>
419 </div>
420
421 </div>
422 </div>
423 <!-- /documents/20126/45625/WaterMark.svg/3d1ebd88-3b1a-3d3b-56a8-61756af2d2f5?t=1557327665025 -->
424 <div style="background: linear-gradient(rgba(255, 255, 255,0.94), rgba(255, 255, 255, 0.94)), url(/documents/20126/45625/rotatedWaterMark.svg) no-repeat;">
425 <div class="neo-main-width">
426 <div id="contentBlog" class="row">
427 <div id="personCreator" class="col-md-3 col-xs-12">
428
429 <div class="imagenReborde">
430
431
432
433 <#if ImageAutor.getData() != "">
434 <img style="width:3em; border-radius: 50%; margin-right: 11px; float: left;" src="${ImageAutor.getData()}" />
435 <#else>
436 <img style="width:3rem; border-radius: 50%; margin-right: 11px; float: left;" src=" /image/user_male_portrait" />
437 </#if>
438
439 <#if NameAutor?? && !NameAutor.isEmpty()>
440 <span style="
441 font-family: Helvetica;
442 font-size: 1rem;
443 font-weight: normal;
444 font-style: normal;
445 font-stretch: normal;
446 line-height: normal;
447 letter-spacing: normal;
448 color: #000000;">By ${NameAutor.getData()}</span><br>
449 </#if>
450
451 <#if positionAutor?? && !positionAutor.isEmpty()>
452 <span style="
453 font-family: Helvetica;
454 font-size: 0.875em;
455 font-weight: normal;
456 font-style: normal;
457 font-stretch: normal;
458 line-height: normal;
459 letter-spacing: normal;
460 color: #4a4a4a;">${PositionAutor.getData()}</span>
461 </#if>
462
463 </div>
464
465
466
467 <hr class="hrOcultoMovil">
468
469
470
471 <div class="containerDocumentsAndSocial">
472 <span style="
473 font-family: Helvetica;
474 font-size: 1rem;
475 font-weight: bold;
476 font-style: normal;
477 font-stretch: normal;
478 line-height: normal;
479 letter-spacing: normal;
480 color: #000000;"><@liferay_ui["message"] key="Share" /></span><br>
481 <ul class="containerSocialMediaDetailEvent">
482 <li>
483 <a href="http://www.linkedin.com/shareArticle?&title=${currentArticle.getTitle()}&mini=true&url=${currentUrl}"><i class="icon-linkedin"></i></a>
484 </li>
485
486 <li>
487 <a href="http://www.facebook.com/sharer.php?u=${currentUrl}"><i class="icon-facebook"></i></a>
488 </li>
489
490 <li>
491 <a href="https://twitter.com/intent/tweet?text=${currentArticle.getTitle()}%20${currentUrl}" data-size="large"><i class="icon-twitter"></i></a>
492 </li>
493
494 <li>
495 <a href="mailto:?subject=${Title.getData()}&body=${Abstract.getData()}"><i class="icon-envelope-alt"></i></a>
496 </li>
497 </ul>
498
499 </div>
500
501
502
503 </div>
504
505 <div id="detailBlog" class="col-md-6 col-xs-12">
506
507 <#assign Date_Data = getterUtil.getString(Date.getData())>
508
509 <#if validator.isNotNull(Date_Data)>
510 <#assign Date_DateObj = dateUtil.parseDate("yyyy-MM-dd", Date_Data, locale)>
511
512 <p style="text-transform: capitalize; color: #5f6569; font-size:0.87rem;">${dateUtil.getDate(Date_DateObj, "MMMM dd, yyyy", locale)}</p>
513 </#if>
514 <div style="font-size:1rem; line-height: 1.5;
515 letter-spacing: normal;
516 color: #000000; text-align:left;">
517 ${Content.getData()}
518 </div>
519 <#if docsRelacionados?has_content >
520 <div id="relatedContentDoc" style="margin-bottom: 20px;">
521 <#list docsRelacionados as doc>
522 <span class="PDFcolorContainer">
523 <i class="glyphicon glyphicon-download-alt"></i><a href="${doc.Documento}" target="_blank"> ${doc.Titular}</a>
524 </span>
525 </#list>
526 </div>
527 </#if>
528
529
530
531
532
533
534
535 <div class="row" style="padding:0; padding-bottom: 15px; margin-top: -8px; border-bottom: 1px solid rgba(0,0,0,0.1);">
536 <#list tagsBlog as tag>
537 <div class="tagList">${tag} </div>
538 </#list>
539 </div>
540
541 <div class="containerDocumentsAndSocial2">
542 <ul class="containerSocialMediaDetailEvent2">
543 <li>
544 <span style="
545 font-family: Helvetica;
546 font-size: 1rem;
547 font-weight: bold;
548 font-style: normal;
549 font-stretch: normal;
550 line-height: normal;
551 letter-spacing: normal;
552 color: #000000;"><@liferay_ui["message"] key="Share" /></span>
553 </li>
554
555 <li>
556 <a href="http://www.linkedin.com/shareArticle?&title=${currentArticle.getTitle()}&mini=true&url=${currentUrl}"><i class="icon-linkedin"></i></a>
557 </li>
558
559 <li>
560 <a href="http://www.facebook.com/sharer.php?u=${currentUrl}"><i class="icon-facebook"></i></a>
561 </li>
562
563 <li>
564 <a href="https://twitter.com/intent/tweet?text=${currentArticle.getTitle()}%20${currentUrl}" data-size="large"><i class="icon-twitter"></i></a>
565 </li>
566
567 <li>
568 <a href="mailto:?subject=${Title.getData()}&body=${Abstract.getData()}"><i class="icon-envelope-alt"></i></a>
569 </li>
570 </ul>
571
572 </div>
573
574
575
576
577 </div>
578
579 <div id="contentRelated" class="col-md-3 hidden-xs" style="padding:0;">
580
581
582
583 <@liferay_portlet["runtime"]
584 defaultPreferences=freeMarkerPortletPreferences.toString()
585 portletProviderAction=portletProviderAction.VIEW
586 instanceId="blogFeaturedTitleyasdf1234"
587 portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" />
588
589 <@liferay_portlet["runtime"]
590 defaultPreferences=freeMarkerPortletPreferences.toString()
591 portletProviderAction=portletProviderAction.VIEW
592 instanceId="blogFeaturedyasdf1234"
593 portletProviderClassName="com.liferay.asset.kernel.model.AssetEntry" />
594
595 <@liferay_portlet["runtime"]
596 defaultPreferences=freeMarkerPortletPreferences.toString()
597 portletProviderAction=portletProviderAction.VIEW
598 instanceId="blogViewedTitleyasdf1234"
599 portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" />
600
601 <@liferay_portlet["runtime"]
602 defaultPreferences=freeMarkerPortletPreferences.toString()
603 portletProviderAction=portletProviderAction.VIEW
604 instanceId="blogViewedyasdf1234"
605 portletProviderClassName="com.liferay.asset.kernel.model.AssetEntry" />
606
607
608
609
610 </div>
611
612 </div>
613 </div>
614
615
616 </div>
617</div>