CNGeGL
Attività internazionali
Le attività internazionali rappresentano uno degli impegni istituzionali di maggiore rilievo del Consiglio Nazionale Geometri e Geometri Laureati, sono basate sul riconoscimento e la libera circolazione delle prestazioni professionisti a livello comunitario e osservano la disciplina delle Direttive Europee sulle qualifiche. Le prime iniziative in questo ambito risalgono al 1878, quando i Geometri Italiani furono i protagonisti della fondazione di alcune organizzazioni internazionali, principalmente finalizzate a tutelare gli interessi di una figura tecnica affermata in tutto il mondo.
Attualmente gli organi di riferimento sono i Comitati e le Associazioni europee, le Associazioni di rappresentanza continentale e la Federazione Internazionale Geometri, mentre le primarie istituzioni internazionali partecipate dal Consiglio Nazionale Geometri e Geometri Laureati sono: la Federazione Internazionale Geometri (FIG), il Comitato Geometri Geodetici Europei (GLGE), il Gruppo Europeo delle Associazioni di Valutatori (TEGOVA), il Gruppo Europeo dei Geometri (EGoS ) e la Associazione Geometri Europei Esperti nella Costruzione (AEEBC).
The following has evaluated to null or missing:
==> curEntry.getPublishDate() [in template "20115#20151#345490" at line 25, column 20]
----
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: #assign dataPub = curEntry.getPublish... [in template "20115#20151#345490" at line 25, column 1]
----
1<!-- Attività Internazionali -->
2
3<#-- =================== INIZIO PARTE NEWS LOOP =================== -->
4<div class="col-lg-12 wow fadeInRight" style="padding:0px;">
5
6 <div class="news-feed mb-4">
7 <header>
8 <h4 class="mb-0 font-size-20" style="color:white !important; margin-block-start:0!important;">Attività Internazionali</h4>
9 </header>
10 <main>
11
12<#if entries?has_content>
13
14 <#assign idxLoop = 0 />
15
16 <#list entries as curEntry> <#-- INIZIO LOOP (indici 0-based)-->
17
18
19<#assign idxLoop = curEntry?index />
20
21
22
23<#assign newsTitle = curEntry.getTitle(locale) />
24<#assign newsSummary = curEntry.getSummary(locale) />
25<#assign dataPub = curEntry.getPublishDate() />
26
27
28
29<#assign renderer = curEntry.getAssetRenderer() />
30<#assign Article = renderer.getArticle() />
31<#assign smallImageID = Article.getSmallImageId() />
32<#if smallImageID??>
33<#assign smallImageURL = "/image/image_gallery?img_id=${smallImageID}" />
34<#else>
35<#assign smallImageURL = Article.getSmallImageURL() />
36</#if>
37
38<#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) />
39
40 <!-- viewURL: ${viewURL} -->
41<#-- assign viewURLAsset = viewURL?replace("/web/guest/attività-internazionali", "/web/guest/dettaglionotizie") / -->
42<#-- assign viewURLAsset = viewURL?replace("/web/guest/attivit%C3%A0-internazionali", "/web/guest/dettaglionotizie") / -->
43
44<#assign viewURLAsset = viewURL?replace("/web/guest/attività-internazionali", "/dettaglionotizie") />
45<#assign viewURLAsset = viewURL?replace("/web/guest/attivit%C3%A0-internazionali", "/dettaglionotizie") />
46
47<#-- assign viewURLAsset = renderer.getURLViewInContext(renderRequest, renderResponse, viewURL) / -->
48
49
50
51
52
53<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
54<#assign DDMStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") >
55<#assign dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")>
56<#assign article = journalArticleLocalService.getLatestArticle(Article.resourcePrimKey) />
57<#assign docTotale = article.getContentByLocale(localeUtil.toLanguageId(localeUtil.getDefault())) />
58<#assign doc = saxReaderUtil.read(article.getContentByLocale(localeUtil.toLanguageId(localeUtil.getDefault()))) />
59
60<#-- INIZIO LETTURA CAMPI -->
61<#assign rootElement = doc.getRootElement() />
62<#assign news = rootElement.selectNodes("/Ttiolo") />
63
64<#--
65<#assign titoloNodePath = saxReaderUtil.createXPath("dynamic-element[@name='Ttiolo']") />
66<#assign titoloNode = titoloNodePath.selectSingleNode(rootElement) />
67
68<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content") />
69<#assign titoloVal = xPathSelector.selectSingleNode(titoloNode).getStringValue() />
70
71<#assign xPathData = saxReaderUtil.createXPath("dynamic-element[@name='DataNotizia']/dynamic-content") />
72<#assign dataNotizia = xPathData.selectSingleNode(titoloNode).getStringValue() />
73
74<#assign xPathAbstract = saxReaderUtil.createXPath("dynamic-element[@name='Abstract']/dynamic-content") />
75<#assign abstract = xPathAbstract.selectSingleNode(titoloNode).getStringValue() />
76
77<#assign xPathFoto = saxReaderUtil.createXPath("dynamic-element[@name='Foto']/dynamic-content") />
78<#assign fotoLink = xPathFoto.selectSingleNode(titoloNode).getStringValue() />
79-->
80
81<#assign titoloVal = rootElement.selectSingleNode("//dynamic-element[@name='Ttiolo']/dynamic-content").getText() />
82<#assign dataNotizia = rootElement.selectSingleNode("//dynamic-element[@name='DataNotizia']/dynamic-content").getText() />
83<#assign abstract = rootElement.selectSingleNode("//dynamic-element[@name='Abstract']/dynamic-content").getText() />
84
85<#assign imgNode = rootElement.selectSingleNode("//dynamic-element[@name='Foto']/dynamic-content")>
86<#assign imgJson = jsonFactoryUtil.createJSONObject(imgNode.getText())>
87<#assign imgEntryId = imgJson.getLong("fileEntryId")>
88<#if imgEntryId?? && imgEntryId != 0>
89<#assign imgEntry = dlAppLocalService.getFileEntry(imgEntryId)>
90<#assign fotoLink = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + imgEntry.getGroupId() + "/" + imgEntry.getFolderId() + "/" + imgEntry.getFileName() + "/" + imgEntry.getUuid()>
91<#else>
92<#assign fotoLink = "">
93</#if>
94
95<#-- ========== COSTRUZIONE HTML SINGOLA NEWS ==================== -->
96
97
98
99 <div class="news-box">
100
101 <#if dataNotizia?? && dataNotizia?has_content>
102 <#assign someDate = dataNotizia?date.xs>
103
104<div class="date mb-1" style="color:black !important;">${someDate?string["dd/MM/yyyy"]}</div>
105</#if>
106
107<!-- NASCOSTA IMMAGINE -->
108<#if fotoLink?? && false>
109 <div class="img-box mb-3 p-5" style="background-image: url(${fotoLink}); background-position: center center; background-size: cover">
110
111 </div>
112 </#if>
113 <!-- NASCOSTA IMMAGINE -->
114
115
116 <!--a href="${viewURLAsset?replace('bFFNlfVUGr8U','atokTJ1vRGEQ')?replace('hifOY88BjsjG','atokTJ1vRGEQ')}">${titoloVal}</a-->
117
118 <a href="${viewURLAsset?replace('sjdfidiiriuru','5xXCrPteqBpy')?replace('albano','5xXCrPteqBpy')}" >${titoloVal}</a>
119
120</div>
121
122
123
124
125
126<#-- =================== FINE COSTRUZIONE SINGOLA News ======================= -->
127
128
129<#-- FINE -->
130
131
132
133
134
135
136
137 </#list> <#-- FINE LOOP -->
138
139
140
141</#if>
142<#-- FINE NEWS LOOP -->
143
144
145<!--a href="/news" class="text-uppercase text-red font-weight-700">Leggi tutte le news</a-->
146
147
148 </main>
149 </div> <!-- chiusura news-feed -->
150
151 </div> <#-- chiusura div menu laterale -->
152
153
154
155
156
157
158<#-- CSS PER NASCONDERE IL TITOLO DEL WEB CONTENT -->
159<style type="text/css">
160.portlet-title-text{display: none;}
161</style>
162
163
164<#-- TEMP CSS GIUSEPPE -->
165<style type="text/css">
166/******* CARD NEWS *******/
167
168.news-card {
169 display:flow-root;
170 font-size: 22px;
171 background: transparent;
172 text-align: center;
173 font-weight: 700;
174 line-height: 1.1;
175 padding: 0;
176 color: var(--black);
177 -webkit-transition: background 200ms;
178 -moz-transition: background 200ms;
179 -ms-transition: background 200ms;
180 -o-transition: background 200ms;
181 transition: background 200ms;
182}
183
184.news-card:hover {
185 background: #fff;
186 text-decoration: none;
187 color: var(--black);
188 -webkit-transition: background 200ms;
189 -moz-transition: background 200ms;
190 -ms-transition: background 200ms;
191 -o-transition: background 200ms;
192 transition: background 200ms;
193}
194
195.news-card .card-img {
196 width: 70px;
197 height: 70px;
198 margin: 0;
199 display: flex;
200 align-items: center;
201 justify-content: center;
202 float: left;
203}
204
205.news-card img {
206 border-radius: 8px;
207}
208
209.news-card p {
210 margin-bottom: 0;
211 margin-top: 1rem;
212 font-size: 1.1rem;
213
214}
215
216.titolinews
217{
218 font-size: 1.0rem;
219 font-weight: 600;
220
221}
222
223
224.tag-news
225{
226border-radius: 5px;
227padding: 5px;
228background-color: var(--red);
229font-size: 12px;
230}
231
232
233/***** END CARD NEWS *****/
234h4 {
235 font-family: Montserrat !important;
236 line-height: 1.3;
237
238}
239
240
241</style>

