Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> metaKeywords [in template "36999#37027#238826" at line 11, column 30] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${PortalUtil.addPageKeywords(metaKeyw... [in template "36999#37027#238826" at line 11, column 1] ----
1<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
2<#assign AssetTagLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService") />
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
4
5<#assign articleId = .vars['reserved-article-id'].data />
6<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) />
7<#assign asset = AssetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) />
8<#assign StringUtil = staticUtil["com.liferay.portal.kernel.util.StringUtil"] />
9<#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
10
11${PortalUtil.addPageKeywords(metaKeywords.getData(), request)}
12${PortalUtil.addPageDescription(metaDescription.getData(), request)}
13
14<div class="progetto-dettaglio">
15 <div class="progetto-banner">
16
17 <div class="container m-auto detail">
18 <h3>${AreaTematica.getData()}</h3>
19 <h1 class="m-0 p-0">${TitoloProgetto.getData()}</h1>
20 <#if TitoloProgetto.Cliente.getData() != ''>
21 <p>Cliente: <span class="font-weight-bold">${TitoloProgetto.Cliente.getData()}</span></p>
22 <#else>
23 <p> </p>
24 </#if>
25 <div class="row">
26 <div class="col-5 d-none d-lg-flex">
27
28 </div>
29 <#if (TitoloProgetto.ImmagineProgetto.getData())?? && TitoloProgetto.ImmagineProgetto.getData() != "">
30 <div class="col-12 col-lg-7">
31 <img class="progetto-image" alt="${TitoloProgetto.ImmagineProgetto.getAttribute("alt")}" data-fileentryid="${TitoloProgetto.ImmagineProgetto.getAttribute("fileEntryId")}" src="${TitoloProgetto.ImmagineProgetto.getData()}" />
32 </div>
33 </#if>
34 </div>
35 </div>
36 </div>
37
38 <div class="row" id="anchor-row">
39 <div class="col-lg-4">
40 <div class="anchor-menu w-100">
41 <div class="portlet-navigation">
42 <#if TitoloProgetto.TitoloParagrafo.getSiblings()?has_content>
43 <div class="list-menu">
44 <ul>
45 <#list TitoloProgetto.TitoloParagrafo.getSiblings() as cur_Paragrafo>
46 <li class=""><a href="#${StringUtil.replace(cur_Paragrafo.getData(), ['"', ' '], ['\'', '-'])}">${cur_Paragrafo.getData()}</a></li>
47 </#list>
48 </ul>
49 </div>
50 </#if>
51 </div>
52 </div>
53 </div>
54 <div class="col-lg-7">
55 <#assign assetTags = AssetTagLocalService.getEntryTags(asset.getEntryId()) />
56 <#if assetTags?has_content>
57 <div class="mt-5 p-0 col-9 offset-3">
58 <#list assetTags as tag>
59 <span class="progetto-tag font-weight-bold mr-1">${tag.getName()}</span>
60 </#list>
61 </div>
62 </#if>
63 <#if TitoloProgetto.TitoloParagrafo.getSiblings()?has_content>
64 <#list TitoloProgetto.TitoloParagrafo.getSiblings() as cur_Paragrafo>
65 <div class="row mt-5 mx-3">
66 <a id="${StringUtil.replace(cur_Paragrafo.getData(), ['"', ' '], ['\'', '-'])}"><h2 class="font-weight-semi-bold">${cur_Paragrafo.getData()}</h2></a>
67
68 <#if cur_Paragrafo.TestoParagrafo.getSiblings()?has_content>
69 <#list cur_Paragrafo.TestoParagrafo.getSiblings() as cur_TestoParagrafo>
70
71 <#assign class="col-12 pb-3">
72 <#assign classDestra = "">
73
74 <#if cur_TestoParagrafo.ImmagineParagrafo.PosizioneImmagineParagrafo.getData()?? && cur_TestoParagrafo.ImmagineParagrafo.PosizioneImmagineParagrafo.getData() == "Destra">
75 <#assign classDestra = "order-1">
76 </#if>
77 <#if cur_TestoParagrafo.ImmagineParagrafo.PosizioneImmagineParagrafo.getData() != "Centro" && cur_TestoParagrafo.ImmagineParagrafo.PosizioneImmagineParagrafo.getData() != "" && cur_TestoParagrafo.ImmagineParagrafo.getData() != "">
78 <#assign class = "col-6">
79 </#if>
80
81 <div class="row">
82 <#if (cur_TestoParagrafo.ImmagineParagrafo.getData())?? && cur_TestoParagrafo.ImmagineParagrafo.getData() != "">
83 <div class="${class} ${classDestra}">
84 <img alt="${cur_TestoParagrafo.ImmagineParagrafo.getAttribute("alt")}" data-fileentryid="${cur_TestoParagrafo.ImmagineParagrafo.getAttribute("fileEntryId")}" src="${cur_TestoParagrafo.ImmagineParagrafo.getData()}" class="w-100"/>
85 </div>
86 </#if>
87 <div class="${class}">
88 <p>${cur_TestoParagrafo.getData()}</p>
89 </div>
90 </div>
91 </#list>
92 </#if>
93 </div>
94 </#list>
95 </#if>
96 </div>
97 </div>
98</div>
Grazie per Averci Contattato!
Nel giro di poche ore riceverai una mail con diverse proposte di pianificazione per un incontro online. Siamo entusiasti di mostrarti come il nostro software custom, progettato con un approccio user-centered, può automatizzare i processi e migliorare l’efficienza del tuo team.
La nostra soluzione pratica e orientata all’utente ti aiuterà a ridurre gli errori, risparmiare tempo prezioso e aumentare la produttività. Da anni supportiamo le aziende nella digitalizzazione dei processi, garantendo il successo dei loro progetti.
Non vediamo l’ora di aiutarti a trasformare le tue idee in realtà.
A presto!
Il team D'vel