Caricando ...
Benvenuti a Taranto
guarda i video

imparare

Spazio alla Comunità

Accedi ai corsi di formazione e consulta i programmi di orientamento per i giovani! Vuoi ampliare i confini della tua conoscenza? Richiedi online il tesseramento alla Biblioteca Acclavio e partecipa agli eventi organizzati!

scopri di più

muoversi

Accessibilità e Connessione

Muoviti a Taranto in modo efficiente! Scopri i percorsi ciclabili, geolocalizza il monopattino più vicino o cerca il percorso più veloce per raggiungere la tua destinazione. Hai un’auto elettrica? Scopri dove ricaricarla!

scopri di più

vedere

Cultura e Turismo

Tutto il patrimonio storico e culturale a portata di click! Visita Taranto da un drone, scopri i tour virtuali ed i percorsi turistici, prenota online visite e biglietti per musei e teatri. Vuoi fare un salto nel passato? Scopri la magia delle ricostruzioni tridimensionali!

scopri di più

abitare

Cultura dell'Abitare

Sapere come evolve la città è importante! Scopri i progetti di riqualificazione, i bandi in concessione ed in locazione. Hai bisogno di richiedere il cambio di residenza o la tessera elettorale? Fallo dal tuo smartphone!

scopri di più

lavorare

Innovazione e Imprese

Cogli le opportunità di investimento consultando i bandi attivi! In questa sezione puoi scoprire le principali iniziative di innovazione e manifestare l'interesse a partecipare. Cosa aspetti? Fai un giro per saperne di più

scopri di più

cinque modi per vivere Taranto

Cultura e Turismo

Tutto il patrimonio storico e culturale a portata di click! Visita Taranto da un drone, scopri i tour virtuali ed i percorsi turistici, prenota online visite e biglietti per musei e teatri. Vuoi fare un salto nel passato? Scopri la magia delle ricostruzioni tridimensionali!

scopri di più

Accessibilità e Connessione

Muoviti a Taranto in modo efficiente! Scopri i percorsi ciclabili, geolocalizza il monopattino più vicino o cerca il percorso più veloce per raggiungere la tua destinazione. Hai un’auto elettrica? Scopri dove ricaricarla!

scopri di più

Cultura dell'Abitare

Sapere come evolve la città è importante! Scopri i progetti di riqualificazione, i bandi in concessione ed in locazione. Hai bisogno di richiedere il cambio di residenza o la tessera elettorale? Fallo dal tuo smartphone!

scopri di più

Innovazione e Imprese

Cogli le opportunità di investimento consultando i bandi attivi! In questa sezione puoi scoprire le principali iniziative di innovazione e manifestare l'interesse a partecipare. Cosa aspetti? Fai un giro per saperne di più

scopri di più

Spazio alla Comunità

Accedi ai corsi di formazione e consulta i programmi di orientamento per i giovani! Vuoi ampliare i confini della tua conoscenza? Richiedi online il tesseramento alla Biblioteca Acclavio e partecipa agli eventi organizzati!

scopri di più

cosa fare in questi giorni

Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> startDates  [in template "20097#20123#886009" at line 54, column 12]

----
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: #list startDates as sd  [in template "20097#20123#886009" at line 54, column 5]
----
1<#assign eventiTemplateId = "TARANTO-TIMELINE-CAROUSEL-EVENTI-ITEM-TEMPLATE"> 
2 
3<#if entries?has_content> 
4<div id="tt-event-carousel"> 
5  <div class="container max-container-1410"> 
6 
7    <div id="tt-event-carousel-content-evh" class="tt-event-carousel-content"> 
8         
9        <#assign apDisplayContext = renderRequest.getAttribute("ASSET_PUBLISHER_DISPLAY_CONTEXT") /> 
10        <#assign order = apDisplayContext.getOrderByColumn1() /> 
11        <#assign startDates = [] /> 
12        <#assign priorities = [] /> 
13                      
14	    <#list entries as curEntry> 
15	        <#assign 
16	            assetRenderer = curEntry.getAssetRenderer() 
17	            journalArticle = assetRenderer.getAssetObject()     
18	            priority = curEntry.getPriority() 
19	        /> 
20	         
21	        <#assign  
22	            document = saxReaderUtil.read(journalArticle.getContent()) 
23                rootElement = document.getRootElement() 
24                xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='endDate']") 
25                endDate = getterUtil.getString(xPathSelector.selectSingleNode(rootElement).getStringValue()) 
26                xPathSelector2 = saxReaderUtil.createXPath("dynamic-element[@name='startDate']") 
27                startDate = getterUtil.getString(xPathSelector2.selectSingleNode(rootElement).getStringValue()) 
28            /> 
29             
30            <#assign startDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", startDate, locale)> 
31             
32                <@liferay_journal["journal-article"] 
33                    articleId=journalArticle.getArticleId() 
34                    ddmTemplateKey=eventiTemplateId 
35                    groupId=journalArticle.getGroupId() 
36                /> 
37             
38            <#assign startDates = startDates + [startDate_DateObj?datetime?string('yyyy-MM-dd')] /> 
39            <#assign priorities = priorities + [priority] /> 
40	                                
41	     </#list> 
42    </div><#-- /#tt-event-carousel-content-evh --> 
43 
44  </div><#-- /.container --> 
45</div><#-- /#tt-event-carousel --> 
46</#if> 
47 
48<script> 
49 
50 
51  jQuery(document).ready(function() { 
52       
53    var startDatesJS = []; 
54    <#list startDates as sd> 
55        startDatesJS.push(new Date('${sd}')); 
56    </#list> 
57     
58    var prioritiesJS = []; 
59    <#list priorities as p> 
60        prioritiesJS.push(${p}); 
61    </#list> 
62     
63    for(var i = 0; i < prioritiesJS.length; i++){ 
64        $('.tt-event-carousel-item').eq(i).addClass('priority' + prioritiesJS[i]); 
65
66 
67    jQuery('#wrapper').css('overflow','hidden'); 
68     
69    var fixIds = function() { 
70      jQuery('#tt-event-carousel-content-evh .slick-slide').removeClass('slick-active-01 slick-active-02 slick-active-03');         
71      var activeSlides = $('#tt-event-carousel-content-evh .slick-slide.slick-active'); 
72      activeSlides.each(function( index ) { 
73        if (index>2){return false;} 
74        jQuery(this).addClass('slick-active-0'+(index+1)); 
75      }); 
76
77 
78    var fixFocus = function(theTarget, currentSlide, nextSlide) { 
79      if (nextSlide > currentSlide){ 
80        $(theTarget).find("button.slick-prev.slick-arrow").focus(); 
81      } else if (nextSlide < currentSlide) { 
82        $(theTarget).find("button.slick-next.slick-arrow").focus(); 
83
84
85 
86    var _previouSlide; 
87 
88    jQuery('#tt-event-carousel-content-evh').on('init', function(event, slick) { 
89      fixIds(); 
90      _previouSlide = 0; 
91      accFeature.fixSlickAcc("<@liferay.language key='previous'/>", "<@liferay.language key='next'/>"); 
92    }); 
93     
94    <#if order?contains("modifiedDate")> 
95     
96    var elem = $('#tt-event-carousel-content-evh .journal-content-article').sort(sortMe); 
97    $('#tt-event-carousel-content-evh').prepend(elem); 
98 
99    function sortMe(a, b) { 
100        var classA = $(a).find('.tt-event-carousel-item').attr('class').split("startDate-")[1]; 
101        var classB = $(b).find('.tt-event-carousel-item').attr('class').split("startDate-")[1]; 
102        var classPriorityA = $(a).find('.tt-event-carousel-item').attr('class').split("priority")[1]; 
103        var classPriorityB = $(b).find('.tt-event-carousel-item').attr('class').split("priority")[1]; 
104        var startA = classA.substring(0,10); 
105        var startB = classB.substring(0,10); 
106        var priorityA = classPriorityA.substring(0,1); 
107        var priorityB = classPriorityB.substring(0,1); 
108        var splitA = startA.split('-'); 
109        var splitB = startB.split('-'); 
110         
111        var dateA = new Date(splitA[1] + '-' + splitA[0] + '-' + splitA[2]); 
112        var dateB = new Date(splitB[1] + '-' + splitB[0] + '-' + splitB[2]); 
113         
114        if(priorityA < priorityB){ 
115            return 1; 
116        }else if(priorityA > priorityB){ 
117            return -1; 
118        }else if(priorityA === priorityB){ 
119            if(dateA < dateB){ 
120                return 1; 
121            }else if(dateA > dateB){ 
122                return -1; 
123            }else if(dateA.getTime() === dateB.getTime()){ 
124                return 0; 
125
126
127
128     
129    </#if> 
130     
131    var theSlick = jQuery('#tt-event-carousel-content-evh').slick({ 
132      slidesToShow: 3, 
133      slidesToScroll: 3, 
134      autoplay: false, 
135      dots: true, 
136      arrows: true, 
137      infinite: false, 
138      responsive: [ 
139
140          breakpoint: 1200, 
141          settings: { 
142            slidesToShow: 2, 
143            slidesToScroll: 2, 
144            dots: false 
145
146        }, 
147
148          breakpoint: 768, 
149          settings: { 
150            slidesToShow: 1, 
151            slidesToScroll: 1, 
152            dots: false 
153
154
155
156    }); 
157 
158    theSlick.on("afterChange", function(event, slick, currentSlide) { 
159      fixIds(); 
160      fixFocus(event.target, _previouSlide, currentSlide); 
161      accFeature.fixSlickAcc("<@liferay.language key='previous'/>", "<@liferay.language key='next'/>"); 
162    }); 
163 
164    theSlick.on('beforeChange', function (event, slick, currentSlide, nextSlide) { 
165      _previouSlide = currentSlide; 
166    }); 
167     
168 
169  }); 
170 
171</script> 

in evidenza

  • Benvenuto

    Benvenuto su Ecosistema Taranto! Il Portale turistico del Comune di Taranto dedicato a tutti gli utenti che desiderano conoscere meglio la città sotto molteplici prospettive. Non sei di queste parti?

    Info point Scopri i percorsi turistici

    Interagisci

    In questa sezione hai accesso allo sportello telematico polifunzionale del Comune di Taranto. Scopri i servizi online dedicati ai cittadini e alle imprese o semplicemente fissa un appuntamento virtuale (da remoto) con il Comune.

    accedi ai Servizi anagrafici accedi a tutti i Servizi Online

scopri taranto dall'alto

notizie e informazioni

da non perdere

dai social