Gruppo Selini, un network di competenze avanzate
Leader nazionale nella fornitura di soluzioni logistiche e industriali integrate e punto di riferimento internazionale.
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> filter.getChildren() [in template "20097#20123#58406" at line 41, column 45] ---- 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 children = filter.getChildren() [in template "20097#20123#58406" at line 41, column 25] ----
1<#if themeDisplay.getLanguageId() == "it_IT">
2 <#assign search = "TROVA SUBITO IL TUO MEZZO USATO!">
3 <#assign placeholder = "Cerca Marca, Modello, etc...">
4 <#assign searchButton = "CERCA">
5<#else>
6 <#assign search = "FIND YOUR VEHICLE!">
7 <#assign placeholder = "Find Brand, Model, etc...">
8 <#assign searchButton = "FIND">
9</#if>
10
11<#assign filterLocalService = serviceLocator.findService("it.addiction.datalean.synchrosniffer.services.service.FilterLocalService")>
12<#assign filters = filterLocalService.fetchFiltersTree("it-IT")>
13
14<#if filters?has_content>
15 <div class="container-fluid search-container-fluid" animatron="show" animatron-preset="slide" animatron-data="vertical:'-100px',duration:'.5',trigger:'100px',animateOnTablet:'true',animateOnSmartphone:'true'">
16
17 <div class="container search-container">
18 <div class="title-container">
19 <div class="title">
20 ${search}
21 </div>
22 </div>
23
24 <div class="search-input-container">
25 <span class="search-icon"></span>
26 <input class="search-field" type="text" id='search-field' placeholder='${placeholder}' />
27 </div>
28
29 <div class="filter-container">
30 <div class="types-container">
31 <#assign activeclass = "active">
32
33 <#list filters as filter>
34 <div class="product-type ${activeclass}" adc-value-filterid="${filter.getFilterId()}" adc-value-featurevalueid="${filter.getFilterFeatureValues()[0].getFeatureValueId()}"><!-- Gestire active al click -->
35 <div class="type-icon ${filter.getLabel()?replace(" ", "-")?lower_case}"></div>
36 <div class="type-label">
37 ${filter.getLabel()}
38 </div>
39 </div>
40 <#assign activeclass = "">
41 <#assign children = filter.getChildren()>
42
43 <#if children?has_content>
44 <div id="filter-children-${filter.getFilterId()}" style="display:none;">
45 <#foreach child in children>
46 <#assign featureValues = child.getFilterFeatureValues()!>
47 <#if featureValues?has_content>
48 <#list featureValues?sort_by("order") as featureValue>
49 <#-- CHECKED SOLO PER USATO -->
50 <#if featureValue.getFeatureValueId() = "5252f15a-a6ee-4c94-8534-4ca0954dca2c" || featureValue.getFeatureValueId() = "f98fd5c4-94ad-466d-a85c-be54c4e963fd">
51 <#assign checked = "checked">
52 <#else>
53 <#assign checked = "">
54 </#if>
55 <div class="field">
56 <input type="radio" ${checked} name='${filter.getFilterId()}' value="${featureValue.getFeatureValueId()}"/>
57 <label for="${featureValue.getFeatureValueId()}">${child.getLabel()}</label>
58 </div>
59 </#list>
60 </#if>
61 </#foreach>
62 </div>
63 </#if>
64 </#list>
65 </div>
66 <div class="status-container" id='status-container'>
67
68 </div>
69
70 <div class="submit-container">
71 <div class="input-container">
72 <input class="submit-field" type="submit" value="${searchButton}" id="home-search-submit-button"/>
73 </div>
74 </div>
75 </div>
76
77 </div>
78 </div>
79
80</#if>
81
82<script>
83 $(document).ready(function() {
84 if($('#filter-children-' + $('.product-type.active').attr('adc-value-filterid')).length > 0) {
85 $('#status-container').html($('#filter-children-' + $('.product-type.active').attr('adc-value-filterid')).html());
86 } else {
87 $('#status-container').html("");
88 $('#status-container').removeClass('show');
89 $('#status-container').addClass('hidden');
90 }
91
92 $('.product-type').each(function () {
93 $(this).on('click', function() {
94 $('.product-type.active').removeClass('active');
95 $(this).addClass('active');
96 if($('#filter-children-' + $(this).attr('adc-value-filterid')).length > 0) {
97 $('#status-container').html($('#filter-children-' + $(this).attr('adc-value-filterid')).html());
98 $('#status-container').removeClass('hidden');
99 $('#status-container').addClass('show');
100 }
101 else {
102 $('#status-container').html("");
103 $('#status-container').removeClass('show');
104 $('#status-container').addClass('hidden');
105 }
106 });
107 });
108
109 $('#home-search-submit-button').on('click', function(e) {
110 e.stopPropagation();
111 e.preventDefault();
112 var condizione="";
113 if($('.status-container input:checked').length > 0) {
114 condizione="&condizione=" + $('.status-container input:checked').val();
115 }
116 window.location.href = "${urlpaginaricerca.getData()}?key=" + jQuery('#search-field').val() + "&rootFilter=" + $('.product-type.active').attr('adc-value-filterid') + condizione;
117 });
118 });
119</script>
Il tuo partner per i servizi logistici e industriali
Siamo il partner ideale per la definizione, selezione e fornitura degli equipaggiamenti. Identifichiamo per i nostri clienti le migliori soluzioni su misura tra acquisto nuovo e usato, noleggio e manutenzione. Investiamo continuamente in collaborazioni e tecnologie in campi innovativi. Il fine è garantire la massima efficienza, flessibilità e ottimizzazione dei costi ed elevare le aspettative del cliente.