Si è verificato un errore nell'elaborarazione del modello.
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> tappaPrincipaleLink  [in template "10154#10192#47204" at line 71, column 76]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign microTappe = AssetLinkLocalSe...  [in template "10154#10192#47204" at line 71, column 13]
----
1<#setting time_zone=timeZone.ID> 
2<#setting locale=locale.toString()> 
3<#setting number_format="#"> 
4 
5<#assign AssetLinkLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetLinkLocalServiceUtil"] />  
6<#assign AssetEntryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] /> 
7<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
8 
9<#assign siteBaseURL = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + themeDisplay.getLayout().getGroup().getFriendlyURL() />  
10<#assign imagePath = themeDisplay.getTheme().getContextPath() + themeDisplay.getTheme().getImagesPath() + "/" /> 
11 
12<style> 
13.header-title{ 
14    display:none; 
15
16.header-back-to{ 
17    display:none; 
18
19</style> 
20 
21<#assign journalArticleId = .vars['reserved-article-id'].data/>  
22<#assign article = JournalArticleLocalService.getArticle(groupId, journalArticleId) /> 
23<#assign entry = AssetEntryLocalServiceUtil.fetchEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) /> 
24 
25<div class="rt-container rt-container--two-columns"> 
26    <div class="col-md-4 portlet-column" id="column-1"> 
27         
28        <div class="rt-stage-location"> 
29            <#assign tappaPrincipaleArray = AssetLinkLocalServiceUtil.getDirectLinks(entry.entryId) /> 
30            <#assign tappaPrincipaleLink = "" /> 
31 
32            <#if tappaPrincipaleArray?has_content> 
33                <#assign tappaPrincipaleLink = tappaPrincipaleArray[0] /> 
34            </#if> 
35 
36            <#if tappaPrincipaleLink?has_content> 
37                <#assign assetEntryTappaPrincipale = AssetEntryLocalServiceUtil.getAssetEntry(tappaPrincipaleLink.entryId2) /> 
38                <#assign assetRendererTappa = assetEntryTappaPrincipale.getAssetRenderer() /> 
39                <#assign docXmlTappa = saxReaderUtil.read(assetRendererTappa.getArticle().getContent()) />  
40                <#assign data = docXmlTappa.valueOf("//dynamic-element[@name='Data']/dynamic-content/text()") />  
41                <#assign display_date = data?datetime("yyyy-MM-dd") />  
42                <#assign display_dayletter = display_date?string["EEEE"] />  
43                <#assign display_daynumber = display_date?string["dd"] />  
44                <#assign display_month = display_date?string["MMMM"] /> 
45                 
46                <div class="rt-stage-location__header"> 
47 
48                    <div class="rt-stage-location__header-date"> 
49 
50                        <div class="rt-stage-location__week-day"> 
51                            ${display_dayletter} 
52                        </div> 
53 
54                        <div class="rt-stage-location__day"> 
55                            ${display_daynumber} 
56                        </div> 
57 
58                        <div class="rt-stage-location__month"> 
59                            ${display_month} 
60                        </div> 
61                    </div> 
62                    <div class="rt-stage-location__header-place"> 
63                        <img alt="${Provincia.getData()}" src="${imagePath}provincia-${Provincia.getData()}.png"> 
64                    </div> 
65                </div> 
66 
67            </#if> 
68        </div> 
69 
70        <div class="rt-stage-location__time"> 
71            <#assign microTappe = AssetLinkLocalServiceUtil.getDirectLinks(tappaPrincipaleLink.entryId2) /> 
72            <#assign orderedList = [] /> 
73 
74            <#assign noOrarioList = [] /> 
75 
76            <#list microTappe as microtappa>  
77                <#if microtappa?has_content> 
78                     
79                    <#assign assetEntryMicroTappa = AssetEntryLocalServiceUtil.getAssetEntry(microtappa.entryId2) /> 
80                    <#assign assetRendererMicroTappa = assetEntryMicroTappa.getAssetRenderer() /> 
81                    <#assign docXmlMicroTappa = saxReaderUtil.read(assetRendererMicroTappa.getArticle().getContent()) />  
82                    <#assign comune = docXmlMicroTappa.valueOf("//dynamic-element[@name='Comune']/dynamic-content/text()") />  
83                    <#assign orario = docXmlMicroTappa.valueOf("//dynamic-element[@name='Orario']/dynamic-content/text()") />  
84                    <#assign urlContent = siteBaseURL + "/-/" + assetRendererMicroTappa.getUrlTitle() /> 
85 
86                    <#if !orario?has_content > 
87                        <#assign orario = "24:00" /> 
88                    </#if> 
89 
90                    <#assign orarioSplitted = orario?split(":")[0] /> 
91                    
92                    <#assign orderedList = orderedList + [ { "orario":"${orarioSplitted}", "fullOrario": "${orario}", "comune":"${comune}", "link":"${urlContent}" , "entryId": "${microtappa.entryId2}" } ]> 
93 
94                </#if> 
95            </#list> 
96 
97            <#assign orderMicroTappe = orderedList?sort_by("orario") /> 
98            <#if orderMicroTappe?has_content> 
99                <ul class="rt-stage-location__time-list"> 
100 
101                    <#list orderMicroTappe as microTappa> 
102                        <#assign cssActive = "" />             
103                        <#if microTappa.entryId?string == entry.entryId?string > 
104                            <#assign cssActive = "is-active" />             
105                        </#if> 
106 
107                        <li class="rt-stage-location__time-element ${cssActive}"> 
108                            <a href="${microTappa.link}"> 
109                                <#if microTappa.fullOrario != "24:00"> 
110                                    ${microTappa.fullOrario}:  
111                                </#if> 
112                                <strong>${microTappa.comune}</strong> 
113 
114                                <#if microTappa.comune == Comune.getData() > 
115                                    <i class="far fa-dot-circle"></i> 
116                                <#else> 
117                                    <i class="far fa-chevron-right"></i> 
118                                </#if> 
119                            </a>     
120                        </li> 
121                    </#list> 
122                </ul> 
123            </#if> 
124        </div> 
125    </div>     
126 
127    <div class="col-md-8 portlet-column" id="column-2"> 
128        <div class="rt-page__content"> 
129            <h2 class="rt-stage-title rt-stage-title--name">Provincia di ${Provincia.getData()}/</h2> 
130            <h2 class="rt-stage-title rt-stage-title--time"> 
131                <#if Orario.getData()?has_content> 
132                    Ore ${Orario.getData()} 
133                </#if> 
134                <strong>${Comune.getData()}</strong> 
135            </h2> 
136            <#if ImmagineCopertina.getData()?? && ImmagineCopertina.getData() != ""> 
137                <div class="rt-stage-highlighted-image"> 
138                    <img alt="${ImmagineCopertina.getAttribute("alt")}" data-fileentryid="${ImmagineCopertina.getAttribute("fileEntryId")}" src="${ImmagineCopertina.getData()}" /> 
139                </div> 
140            </#if> 
141        </div> 
142    </div> 
143</div> 
144 
145<div class="col-md-12 portlet-column portlet-column-only" id="column-3"> 
146    <div class="rt-container"> 
147         
148        <#if Progetto.getSiblings()?has_content>  
149 
150            <#assign cssClassaccordionDefault = "is-hidden" /> 
151            <#if Progetto.getSiblings()?size == 1> 
152                <#assign cssClassaccordionDefault = "is-visible" /> 
153            </#if> 
154 
155            <#assign counterList = 1 /> 
156 
157            <#list Progetto.getSiblings() as cur_Progetto> 
158                <#if (counterList >= 2) > 
159                    <#assign cssClassaccordionDefault = "is-hidden" /> 
160                </#if> 
161                 
162                <#assign abstract = "" /> 
163                <#if cur_Progetto.AbstractProgetto?has_content && cur_Progetto.AbstractProgetto.getData() != ""> 
164                    <#assign abstract = cur_Progetto.AbstractProgetto.getData() /> 
165                <#else> 
166                    <#if cur_Progetto.ContenutoProgetto.getData()?has_content> 
167                        <#assign lengthContenuto = cur_Progetto.ContenutoProgetto.getData()?length /> 
168                        <#if (lengthContenuto >= 300) > 
169                            <#assign abstract = cur_Progetto.ContenutoProgetto.getData()?substring(0,300) /> 
170                        <#else> 
171                            <#assign abstract = cur_Progetto.ContenutoProgetto.getData() /> 
172                        </#if> 
173                         
174                    </#if> 
175                </#if> 
176 
177                <div class="rt-accordion rt-accordion--substage"> 
178                    <div class="rt-accordion__content ${cssClassaccordionDefault}"> 
179                        <h3 class="rt-accordion__title"> 
180                            ${cur_Progetto.getData()} 
181                        </h3> 
182                        <div class="rt-accordion__excerpt"> 
183                            <p> 
184                                ${abstract} 
185                                <span class="rt-text-ellipsis"></span> 
186                            </p> 
187                        </div> 
188 
189                        <div class="rt-accordion__text"> 
190                            ${cur_Progetto.ContenutoProgetto.getData()} 
191                        </div> 
192 
193                        <#if cur_Progetto.PhotoGallery.getData()?has_content> 
194                            <#assign jsonGallery = jsonFactoryUtil.createJSONObject(cur_Progetto.PhotoGallery.getData()) /> 
195                            <#assign classPKGallery = jsonGallery.classPK /> 
196                            <#assign classNameGallery = jsonGallery.className /> 
197 
198                            <#assign galleryEntry = AssetEntryLocalServiceUtil.fetchEntry(classNameGallery, classPKGallery?number?long) /> 
199                            <#assign galleryAssetRenderer = galleryEntry.getAssetRenderer() /> 
200                            <#assign galleryArticle = galleryAssetRenderer.getArticle() /> 
201 
202                            <#assign articleContent = journalContentUtil.getContent(galleryArticle.groupId, galleryArticle.articleId, "", locale.toString(), themeDisplay) /> 
203 
204                            ${articleContent} 
205                        </#if> 
206                    </div> 
207                    <div class="rt-accordion__toggle"> 
208                        <a href="" class="rt-accordion__button-more"> 
209                            <i class="far fa-plus-circle"></i> 
210                            <span class="rt-accordion__button-label">leggi di più</span> 
211                        </a> 
212 
213                        <a href="" class="rt-accordion__button-less"> 
214                            <i class="far fa-minus-circle"></i> 
215                            <span class="rt-accordion__button-label">chiudi</span> 
216                        </a> 
217                    </div> 
218 
219                    <#if cur_Progetto.Focus?has_content && cur_Progetto.Focus.getData() != ""> 
220                        <div class="rt-accordion__focus"> 
221                            ${cur_Progetto.Focus.getData()} 
222                        </div> 
223                    </#if> 
224                </div> 
225 
226            </#list>  
227        </#if> 
228    </div> 
229</div>