ITINERARI
Tour per ogni gusto: avventure tra parchi e canyon per gli esploratori, relax tra spiagge e terme per chi cerca pace, borghi storici e musei per gli amanti della cultura.
Tour per ogni gusto: avventure tra parchi e canyon per gli esploratori, relax tra spiagge e terme per chi cerca pace, borghi storici e musei per gli amanti della cultura.

Esploratore Intrepido
Esplorazioni Selvagge nella Sila Piccola
Vivi l’incanto della Sila Piccola: dalle Cascate del Litrello ai Ruderi di Peseca, esplora la natura rigogliosa delle Pinete del Roncino e lasciati sorprendere dalla bellezza delle Cascate dei Faggi e del Lupo.

Amanti del Relax

Moderno Ulisse
Calabria storica
Immergiti nella storia di Sybaris: visita il Parco Archeologico, ammira i tesori conservati nel Museo della Sibaritide e soffermati dinnanzi alla maestosità del Castello Ducale di Corigliano.

Cacciatore di Sapori

Guida di Famiglia
Sila per tutti i gusti
Alla scoperta della Sila Piccola: dai Ruderi del Picaro nella Valle del Tacina alle avventure adrenaliniche di Orme nel Parco, fino alla bellezza storica del Museo Civico di Taverna. Un itinerario per conoscere e vivere ogni esperienza possibile nel polmone verde d’Europa.
Storia, dolcezza ed emozioni per tutta la famiglia
Un viaggio emozionante tra Vibo e Pizzo: incontra dinosauri al Parco della Preistoria, lasciati tentare dal Tartufo di Pizzo nel cuore del borgo e scopri il fascino unico della Chiesetta di Piedigrotta sul mare.
Mari e monti: dalla Sila Piccola allo Jonio
Vivi le avventure “sospese” di Orme nel Parco, scopri le bellezze naturali del Centro Garcea e concediti una pausa relax a Catanzaro Lido: emozioni, divertimento e panorami mozzafiato sono garantiti per tutta la famiglia!

Amico dell'Ambiente

Bussola della Crew
Failed to "?eval" string with this error: ---begin-message--- Syntax error in ?eval-ed string in line 1, column 2: Encountered ")", but was expecting one of these patterns: <STRING_LITERAL> <RAW_STRING> "false" "true" <INTEGER> <DECIMAL> "." "+" "-" "!" "[" "(" "{" <ID> ---end-message--- The failing expression: ==> place.getFeaturedImage()?eval [in template "21043191814624#20119#36629" at line 55, column 73] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign json = place.getFeaturedImage... [in template "21043191814624#20119#36629" at line 55, column 57] ----
1<#assign ItineraryLocalService = serviceLocator.findService("calabriadigital.service.ItineraryLocalService")>
2<#assign PlaceLocalService = serviceLocator.findService("calabriadigital.service.PlaceLocalService")>
3<#assign EventLocalService = serviceLocator.findService("calabriadigital.service.EventLocalService")>
4<#assign SeriesLocalService = serviceLocator.findService("calabriadigital.service.SeriesLocalService")>
5<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
6<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
7
8<#assign allItineraries = ItineraryLocalService.getActiveItineraries(scopeGroupId) />
9
10<#assign titles = [] />
11<#assign itineraries = [] />
12
13<#assign url = [] />
14
15<#if entries?has_content>
16
17 <div class="container" id="itineraries">
18
19 <#list entries as curEntry>
20 <#if ItineraryLocalService.getItinerary(scopeGroupId, curEntry.getClassPK()).getStatus() != 1>
21 <#continue>
22 </#if>
23 <#if (AssetCategoryLocalServiice.getAssetEntryAssetCategories(curEntry.getPrimaryKey()))??>
24 <#assign categories = AssetCategoryLocalServiice.getAssetEntryAssetCategories(curEntry.getPrimaryKey()) />
25 </#if>
26 <#assign itinerary = ItineraryLocalService.getItinerary(scopeGroupId, curEntry.getClassPK()) />
27
28 <#assign urlsImage = [] />
29
30
31 <#if (ItineraryLocalService.getEventsByItinerary(scopeGroupId, itinerary.getItineraryId()) )??>
32
33 <#list ItineraryLocalService.getEventsByItinerary(scopeGroupId, itinerary.getItineraryId()) as event >
34
35 <#assign event = EventLocalService.getEvent(scopeGroupId, event.getPrimaryKey() ) />
36 <#assign imgUrl = "" />
37 <#if event.getFeaturedImage() != "{}">
38 <#assign json = event.getFeaturedImage()?eval />
39 <#assign imgUrl = json.url />
40 <#assign urlsImage = urlsImage + [imgUrl] />
41 </#if>
42
43
44
45 </#list>
46 </#if>
47
48
49 <#if (ItineraryLocalService.getPlacesByItinerary(scopeGroupId, itinerary.getItineraryId()) )??>
50
51 <#list ItineraryLocalService.getPlacesByItinerary(scopeGroupId, itinerary.getItineraryId()) as place >
52 <#assign place = PlaceLocalService.getPlace(scopeGroupId, place.getPrimaryKey() ) />
53 <#assign imgUrl = "" />
54 <#if place.getFeaturedImage() != "{}">
55 <#assign json = place.getFeaturedImage()?eval />
56 <#assign imgUrl = json.url />
57 <#assign urlsImage = urlsImage + [imgUrl] />
58 </#if>
59
60
61
62 </#list>
63 </#if>
64
65 <#if (ItineraryLocalService.getSeriesByItinerary(scopeGroupId, itinerary.getItineraryId()) )??>
66
67 <#list ItineraryLocalService.getSeriesByItinerary(scopeGroupId, itinerary.getItineraryId()) as series >
68 <#assign series = SeriesLocalService.getSeries(scopeGroupId, series.getPrimaryKey() ) />
69 <#assign imgUrl = "" />
70 <#if series.getFeaturedImage() != "{}">
71 <#assign json = series.getFeaturedImage()?eval />
72 <#assign imgUrl = json.url />
73 <#assign urlsImage = urlsImage + [imgUrl] />
74 </#if>
75 </#list>
76 </#if>
77
78
79
80 <#if urlsImage?size lt 3>
81 <#list 0..2 as _>
82
83 <#if urlsImage?size lt 3>
84 <#assign urlsImage = urlsImage + ['${themeDisplay.getPathThemeImages()}/segnaposto.png'] />
85 </#if>
86 </#list>
87
88
89
90 </#if>
91
92 <#assign bg = "#0F400F"/>
93 <#assign textColor = "#ffc627"/>
94
95 <div class="row mt-5">
96
97 <div class="col-7 col-lg-5 d-flex flex-column justify-content-between p-2">
98 <div class="row no-gutters h-100 rounded p-5 m-2" style="background: ${bg};">
99 <div class="col d-flex flex-column justify-content-between">
100 <h3 class="h2 text-white font-weight-bold mb-4">${itinerary.getTitle()}</h3>
101 <div class="text-white font-size-mobile" >${itinerary.getSummary()}</div>
102
103 </div>
104 </div>
105 </div>
106 <div class="col-4 col-md-4 d-none d-lg-flex flex-column justify-content-between column2">
107 <div class="row no-gutters">
108 <div class="col py-3 rounded h-100" style="background-image: url("")">
109 <img class="h-100 w-100 rounded" src="${urlsImage[0]}"></div>
110 </div>
111 <div class="row no-gutters">
112 <div class="col py-3 rounded" style="background-image: url("")">
113 <img class="h-100 w-100 rounded" src="${urlsImage[1]}"></div>
114 </div>
115 </div>
116 <div class="col-5 col-lg-3 d-flex flex-column flex-grow-1 justify-content-between align-self-stretch column3">
117 <div class="row no-gutters">
118 <div class="col py-3 rounded" style="background-image: url("")">
119 <img class="h-100 rounded w-100 object-fit-cover" src="${urlsImage[2]}"></div>
120 </div>
121 <div class="row no-gutters ">
122 <div class="col align-self-end py-3">
123 <a href="/itineraries?itinerary=${itinerary.getPrimaryKey()}&title=${itinerary.getTitle()}">
124 <div class="btn w-100" style="background: ${bg};">
125 <div class="w-100">
126 <svg xmlns="http://www.w3.org/2000/svg" width="110" height="16" viewBox="0 0 110 16" fill="none">
127 <path d="M108.886 8.93611C109.276 8.54559 109.276 7.91242 108.886 7.5219L102.522 1.15794C102.131 0.767412 101.498 0.767412 101.108 1.15794C100.717 1.54846 100.717 2.18163 101.108 2.57215L106.764 8.229L101.108 13.8859C100.717 14.2764 100.717 14.9095 101.108 15.3001C101.498 15.6906 102.131 15.6906 102.522 15.3001L108.886 8.93611ZM0.0922241 9.229H108.179V7.229H0.0922241V9.229Z" fill="${textColor}"/>
128</svg></div></div></a></div>
129 </div>
130 </div>
131
132 </div>
133
134
135
136
137
138 </#list>
139
140 </div>
141<#else>
142 <div class="col-6 m-auto">
143 <h3 class="text-uppercase mt-5 text-secondary text-center " style="transform: rotate(3.319deg);border-radius: 50px;border: 3px solid var(--Colori-Terziari-FF5A00, #FF5A00);">Presto online</h3>
144 </div>
145</#if>
