Faq Domande Frequenti - Ministero della Difesa
An error occurred while processing the template.
The following has evaluated to null or missing: ==> xPathSelectorC.selectSingleNode(rootElement) [in template "20157#20197#4138883" at line 43, column 125] ---- Tip: If the failing expression is known to be 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 category = xPathSelectorC.sel... [in template "20157#20197#4138883" at line 43, column 105] ----
1<div>
2<section class="AF-FAQPage_abstract">
3 <div class="container">
4 <div class="row">
5 <div class="col-xs-12 offset-xs-0 col-lg-10 offset-lg-1">
6 <div class="AF-Abstract">
7 <h1 class="AF-Text_black mb-2x">FAQ</h1>
8 <p class="AF-Paragraph_large AF-Abstract_subtitle">${languageUtil.get(request,"multilingua.adt2019_FAQ.intestazione" )}</p>
9 </div>
10 </div>
11 </div>
12 </div>
13</section>
14<#if entries?has_content>
15<div class="container">
16 <div class="row">
17 <div class="col-xs-12 offset-xs-0 col-lg-10 offset-lg-1">
18 <section class="mb-9x mb-md-12x">
19 <div class="row">
20 <div class="col-xs-12">
21 <div class="row">
22 <div class="col-xs-12">
23 <div class="AF-FaqSearch" data-state="close">
24 <div class="AF-Accordion AF-FaqSearch_accordion" data-state="close">
25 <div class="AF-Accordion_wrapper AF-FaqSearch_accordionWrapper">
26 <p class="AF-Accordion_title AF-FaqSearch_title">${languageUtil.get(request,"multilingua.adt2019_FAQ.lbl.tutte.le.faq")}</p>
27 <div class="AF-Accordion_icon">
28 <svg id="chevron-down" xmlns="http://www.w3.org/2000/svg">
29 <use xlink:href="#icon-chevron-down"></use>
30 </svg>
31 </div>
32 </div>
33 <div id="af-tab-nav-mobile">
34 <#assign idCategory =1 />
35 <#list entries as curEntry>
36 <#assign renderer = curEntry.getAssetRenderer() />
37 <#assign className = renderer.getClassName() />
38 <#if className == "com.liferay.journal.model.JournalArticle">
39 <#assign journalArticle = renderer.getArticle() />
40 <#assign document = saxReaderUtil.read(journalArticle.getContent()) />
41 <#assign rootElement = document.getRootElement() />
42 <#assign xPathSelectorC = saxReaderUtil.createXPath("dynamic-element[@name='Category']/dynamic-content[@language-id = '${locale}']") />
43 <#assign category = xPathSelectorC.selectSingleNode(rootElement).getStringValue() />
44 </#if>
45 <p class="AF-Accordion_content AF-FaqSearch_content">
46 <a class="AF-FaqSearch_link" href="#faq_${idCategory}">${category}</a>
47 </p>
48 <#assign idCategory = idCategory +1 />
49 </#list>
50 </div>
51 </div>
52 <span class="AF-InputSearch_icon AF-FaqSearch_icon-search" data-state="close">
53 <svg id="icon-search-input" xmlns="http://www.w3.org/2000/svg">
54 <use xlink:href="#icon-search"></use>
55 </svg>
56 </span>
57 <div class="AF-Input AF-FaqSearch_input">
58 <div class="AF-Input_wrap">
59 <div class="AF-Input_icon AF-Input_icon-left">
60 <svg id="icon-search-input" xmlns="http://www.w3.org/2000/svg">
61 <use xlink:href="#icon-search"></use>
62 </svg>
63 </div>
64 <input type="text" class="AF-Input_field AF-Input-indent AF-Input_field-no-border js-AF-FAQSearch_input" placeholder="${languageUtil.get(request,"multilingua.adt2019_FAQ.placeholder")}">
65 </div>
66 </div>
67 <div class="AF-FaqSearch_button">
68 <button class="AF-Btn AF-Btn-primary">
69 <span class="AF-Btn_label AF-Btn_label-medium">${languageUtil.get(request,"multilingua.adt2019_FAQ.lbl.cerca" )}</span>
70 </button>
71 </div>
72 <div class="AF-FaqSearch_icon-close">
73 <svg id="icon-delete-menu" xmlns="http://www.w3.org/2000/svg">
74 <use xlink:href="#icon-delete"></use>
75 </svg>
76 </div>
77 </div>
78 </div>
79 </div>
80 </div>
81 </div>
82 </section>
83 </div>
84 </div>
85</div>
86 <div class="container mb-13x mb-md-20x">
87 <div class="row">
88 <div class="col-xs-12 offset-xs-0 col-lg-10 offset-lg-1">
89 <section>
90 <div class="container">
91 <div class="row">
92 <div class="AF-Faq_links col-xs-12 col-md-4">
93 <div class="AF-Faq_title AF-Faq_title-all AF-Tab_li AF-Tab_li-primary AF-Faq_tab-active">
94 <p>${languageUtil.get(request,"multilingua.adt2019_FAQ.lbl.tutte.le.faq")}</p>
95 </div>
96 <ul id="af-tab-nav" class="AF-Faq_ul">
97 <#assign idCategory =1 />
98 <#list entries as curEntry>
99 <#assign renderer = curEntry.getAssetRenderer() />
100 <#assign className = renderer.getClassName() />
101 <#if className == "com.liferay.journal.model.JournalArticle">
102 <#assign journalArticle = renderer.getArticle() />
103 <#assign document = saxReaderUtil.read(journalArticle.getContent()) />
104 <#assign rootElement = document.getRootElement() />
105 <#assign xPathSelectorC = saxReaderUtil.createXPath("dynamic-element[@name='Category']/dynamic-content[@language-id = '${locale}']") />
106 <#assign category = xPathSelectorC.selectSingleNode(rootElement).getStringValue() />
107 </#if>
108 <li class="AF-Tab_li AF-Tab_li-primary">
109 <a class="AF-Tab_link-primary" href="#faq_${idCategory}">${category}</a>
110 </li>
111 <#assign idCategory = idCategory +1 />
112 </#list>
113 </ul>
114 </div>
115 <div class="col-xs-12 col-md-8">
116 <div id="faqResultEmpty" class="col-xs-12 offset-xs-0 col-lg-10 offset-lg-1" style="display:none; margin-top: 15px;">
117 <h4>${languageUtil.get(request,"multilingua.adt2019_FAQ.lbl.noresult")}</h4>
118 </div>
119 <div class="AF-Faq_tab-content">
120 <#assign idCategory =1 />
121 <#list entries as curEntry>
122 <#assign renderer = curEntry.getAssetRenderer() />
123 <#assign className = renderer.getClassName() />
124 <#if className == "com.liferay.journal.model.JournalArticle">
125 <#assign journalArticle = renderer.getArticle() />
126 <#assign document = saxReaderUtil.read(journalArticle.getContent()) />
127 <#assign rootElement = document.getRootElement() />
128 <#assign xPathSelectorC = saxReaderUtil.createXPath("dynamic-element[@name='Category']/dynamic-content[@language-id = '${locale}']") />
129 <#assign category = xPathSelectorC.selectSingleNode(rootElement).getStringValue() />
130 <#assign xPathSelectorQ = saxReaderUtil.createXPath("dynamic-element[@name='Question']") />
131 <#assign questions = xPathSelectorQ.selectNodes(rootElement) />
132 <#assign xPathSelectorQTitle = saxReaderUtil.createXPath("dynamic-content[@language-id = '${locale}']") />
133 <#assign xPathSelectorA = saxReaderUtil.createXPath("dynamic-element[@name='Answer']/dynamic-content[@language-id = '${locale}']") />
134 </#if>
135 <div class="AF-Faq_tab-pane AF-Faq_tab-active" id="faq_${idCategory}">
136 <div class="AF-Faq_title">
137 <h3>${category}</h3>
138 </div>
139 <#list questions as question>
140 <div class="AF-Accordion AF-FAQ-Accordion" data-state="close">
141 <#assign questionTitle = xPathSelectorQTitle.selectSingleNode(question).getStringValue() />
142 <#assign answer = xPathSelectorA.selectSingleNode(question).getStringValue() />
143 <div class= "AF-Faq_Search">
144 <div class="AF-Accordion_wrapper">
145 <p class="AF-Accordion_title AF-FAQ-Accordion_title">${questionTitle}</p>
146 <div class="AF-Accordion_icon">
147 <svg id="chevron-down" xmlns="http://www.w3.org/2000/svg">
148 <use xlink:href="#icon-chevron-down"></use>
149 </svg>
150 </div>
151 </div>
152 <div class="AF-Accordion_content">${answer}</div>
153 </div>
154 </div>
155 </#list>
156 </div>
157 <#assign idCategory = idCategory + 1 />
158 </#list>
159 </div>
160 </div>
161 </div>
162 </div>
163 </section>
164 </div>
165 </div>
166 </div>
167</#if>
168</div>
169<style>
170 .AF-Faq_hidden{
171 display :none !important;
172 }
173</style>
174
175<script type="text/javascript">
176 $(document).ready(function() {
177 $(document).on('click', '.AF-Faq_title-all', function(e) {
178 $(".js-AF-FAQSearch_input").val("");
179 clearSearchFaq();
180 });
181 });
182
183 function clearSearchFaq(){
184 $("#faqResultEmpty").css("display", "none");
185 $.each($(document).find(".AF-Faq_hidden"), function(){
186 $(this).removeClass("AF-Faq_hidden");
187 });
188 }
189
190 function doSearch(){
191 clearSearchFaq();
192 var keyword = $('.js-AF-FAQSearch_input').val();
193
194 var i=0;
195 $.each($(".AF-Faq_tab-pane"), function(){
196 var j = 0;
197 $.each($(this).find(".AF-Faq_Search"), function(){
198 var content = $(this).text().toLowerCase();
199 if(content.indexOf(keyword.toLowerCase()) == -1 ){
200 $(this).addClass("AF-Faq_hidden");
201 }else{
202 j = j+1;
203 }
204 });
205 if(j == 0){
206 $(this).addClass("AF-Faq_hidden");
207 }else{
208 i= i+1;
209 }
210 });
211 if(i == 0){
212 $("#faqResultEmpty").css("display", "block");
213 }
214 }
215
216 $(document).ready(function() {
217 $(document).on('click', '.AF-Btn_label', function(e) {
218 $(".js-AF-FAQSearch_input").val();
219 doSearch();
220 $(".js-AF-FAQSearch_input").val("");
221 });
222 });
223
224 $('.js-AF-FAQSearch_input').keypress(function(e) {
225 if(e.which == 13) {
226 doSearch();
227 $(".js-AF-FAQSearch_input").val("");
228
229 }
230 });
231
232 $(document).ready(function() {
233 $(document).on('click', '.AF-Faq_ul', function(e) {
234 $(".js-AF-FAQSearch_input").val("");
235 clearSearchFaq();
236 });
237 });
238
239
240 $(document).ready(function() {
241 $(document).on('click', '.AF-FaqSearch_icon-close', function(e) {
242 $(".js-AF-FAQSearch_input").val("");
243 clearSearchFaq();
244 });
245
246
247 url = window.location.href;
248 if(url.indexOf("keyword") > -1){
249 query_str = url.substr(url.indexOf('keyword'), url.length-1);
250 query_str2 = query_str.substr(query_str.indexOf('=')+1, query_str.length-1);
251 query_str3= query_str2.split("%20").join(" ");
252 $(".js-AF-FAQSearch_input").val(query_str3);
253 doSearch();
254 }
255 });
256</script>