Turisme cultural

Turisme cultural

La Comunitat Valenciana posseeix un gran llegat artístic i cultural com a conseqüència de les diferents civilitzacions que han albergat la nostra terra i dels estils arquitectònics al llarg de la seua història. Recorre municipis replets de cultura i història que atresoren un inestimable patrimoni històric i artístic.

Els municipis de la Costa Blanca reflecteixen el pas d'antigues civilitzacions, com la ciutat iber romana de Lucentum a Alacant o la Illeta dels Banyets a El Campello. Per no parlar de la Ruta dels Castells per la comarca del Vinalopó o les rutes europees d'arquitectura modernista a Alcoi o Novelda.
La província de València ofereix un riquíssim programa cultural amb visites al Castell de Cullera, el Palau Ducal de Gandia, els vestigis romans de Sagunt o el Territori Borja en el centre històric de Xàtiva, entre altres. 

Per part seua, la província de Castelló ofereix art rupestre i avantguardista en un xicotet radi de quilòmetres. Destaca la riquesa cultural de municipis turístics com Benicàssim, Oropesa del Mar o Peníscola.

Troba

Nom
Província 
Alacant/Alicante
Castelló/Castellón
València
Municipis
Tipus
Allotjaments
Empreses de servicis complementaris
Esdeveniments
Espais naturals
Festes
Fires i congressos
Monuments
Museus
Oficines de Turisme
Parcs d'oci
Rutes
Webcams

Inspira't

image
Quantes llegendes i històries hi ha sobre el Sant Greal? Endinsa't en una apassionant ruta per València i descobreix quina relació existeix entre aquest objecte i la ciutat.
image
Et contem la història del Castell el Castell de Guadalest: entra i coneix els seus orígens i algunes de les curiositats d'aquest castell medieval situat en la província d'Alacant. Descobreix la Comunitat Valenciana!
image
Per Nadal els carrers i les cases es vesteixen de llums i flors, i a la Comunitat Valenciana anem més enllà posant sabor valencià a les receptes nadalenques i celebrant aquestes festes amb esdeveniments molt curiosos.
image
Perdre's pels pobles de Castelló sempre és una gran idea. Fer-ho a la tardor i a l'hivern pot ser una experiència inoblidable. Descobreix tots els seus racons i tria quins pobles seran l'escenari de la teua pròxima aventura.

Notícies

Propostes de viatge

S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> fotodeportada  [in template "20099#20135#413073" at line 343, column 128]

----
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: #if fotodeportada?length gt 0  [in template "20099#20135#413073" at line 343, column 123]
----
1<#if selectionStyle == "dynamic" > 
2<#assign aeq = objectUtil("com.liferay.asset.kernel.service.persistence.AssetEntryQuery")/> 
3<#assign pathKey = serviceLocator.findService("es.cv.urlfilter.service.PathKeyLocalService")> 
4<#assign pathValue = serviceLocator.findService("es.cv.urlfilter.service.PathValueLocalService")> 
5<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
6<#assign AssetTagLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService")> 
7<#assign pfu = serviceLocator.findService("com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil")> 
8<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
9 
10 
11<#assign language = locale.getLanguage()!"es" /> 
12	<#assign custom_language = "Es" 
13		language_url = "/"+language> 
14	 
15	<#if language == "es"> 
16		<#assign custom_language = "Es"> 
17	<#elseif language == "en"> 
18		<#assign custom_language = "En"> 
19	<#elseif language == "fr"> 
20		<#assign custom_language = "Fr"> 
21	<#elseif language == "de"> 
22		<#assign custom_language = "De"> 
23	<#elseif language == "ca"> 
24		<#assign custom_language = "Va" 
25				 language_url="/va" >	 
26	</#if> 
27 
28 
29 
30<#assign slugs = {  
31    "province": (avtContext.provinceSlug)!'', 
32    "township": (avtContext.townshipSlug)!'', 
33    "type": (avtContext.typeSlug)!'', 
34    "subtype": (avtContext.subtypeSlug)!'', 
35    "segment": (avtContext.segmentSlug)!'', 
36    "subsegment": (avtContext.subsegmentSlug)!'', 
37    "resource": (avtContext.resourceSlug)!'' 
38 } /> 
39 
40<#assign dinamicPage = "false"> 
41<#assign typePathKey = ""> 
42<#assign idPathKey = 0> 
43<#assign slug = ""> 
44 
45<#assign queryValues0 = [] > 
46<#if portletPreferences["queryValues0"]??> 
47    <#assign queryValues0 = portletPreferences["queryValues0"] > 
48</#if> 
49 
50 
51<#if portletPreferences["orderByColumn1"]??> 
52    <#assign orders1 = portletPreferences["orderByColumn1"] > 
53</#if> 
54 
55<#if portletPreferences["orderByColumn2"]??> 
56    <#assign orders2 = portletPreferences["orderByColumn2"] > 
57</#if> 
58 
59<#assign queryValues1 = [] > 
60<#if portletPreferences["queryValues1"]??> 
61    <#assign queryValues1 = portletPreferences["queryValues1"] > 
62</#if> 
63 
64<#assign deltas = [] > 
65<#if portletPreferences["delta"]??> 
66    <#assign deltas = portletPreferences["delta"] > 
67</#if> 
68 
69<#assign queryAndOperator0 = [] > 
70<#if portletPreferences["queryAndOperator0"]??> 
71    <#assign queryAndOperator0 = portletPreferences["queryAndOperator0"] > 
72</#if> 
73 
74<#assign queryAndOperator1 = [] > 
75<#if portletPreferences["queryAndOperator1"]??> 
76    <#assign queryAndOperator1 = portletPreferences["queryAndOperator1"] > 
77</#if> 
78 
79<#assign queryNames0 = [] > 
80<#if portletPreferences["queryName0"]??> 
81    <#assign queryNames0 = portletPreferences["queryName0"] > 
82</#if> 
83 
84<#assign queryNames1 = [] > 
85<#if portletPreferences["queryName1"]??> 
86    <#assign queryNames1 = portletPreferences["queryName1"] > 
87</#if> 
88 
89 
90<#assign categoriesArrayAND = [] /> 
91<#assign categoriesArrayOR = [] /> 
92 
93<#assign tagsArrayAND = [] /> 
94<#assign tagsArrayOR = [] /> 
95 
96 
97<#--Numero de elementos a mostrar--> 
98<#assign size = 20?number > 
99<#list deltas as delta> 
100    <#assign size = delta?number > 
101</#list> 
102 
103<#--Nombre de la primera query--> 
104<#list queryNames0 as queryName0> 
105    <#assign firstQuery = queryName0 > 
106</#list> 
107<#--Nombre de la segunda query--> 
108<#list queryNames1 as queryName1> 
109    <#assign secondQuery = queryName1 > 
110</#list> 
111 
112<#--Operador de la primera query--> 
113<#list queryAndOperator0 as order0Aux> 
114    <#assign orderAnd0 = order0Aux > 
115</#list> 
116 
117<#--Operador de la primera query--> 
118<#list queryAndOperator1 as order1Aux> 
119    <#assign orderAnd1 = order1Aux > 
120</#list> 
121 
122 
123<#if firstQuery??> 
124    <#if firstQuery == "assetCategories"> 
125        <#list queryValues0 as queryValue0> 
126            <#assign num = queryValue0?number> 
127            <#if orderAnd0 == "true"> 
128                <#assign categoriesArrayAND = categoriesArrayAND + [ num ] /> 
129            </#if> 
130            <#if orderAnd0 == "false"> 
131                <#assign categoriesArrayOR = categoriesArrayOR + [ num ] /> 
132            </#if> 
133        </#list> 
134    <#elseif firstQuery == "assetTags"> 
135        <#list queryValues0 as queryValue0> 
136            <#assign dynamicQuery = AssetTagLocalService.dynamicQuery().add(pfu.forName("name").like("%" + queryValue0 + "%"))> 
137            <#assign tags = AssetTagLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
138            <#list tags as tag> 
139                 <#if orderAnd0 == "true"> 
140                    <#assign tagsArrayAND = tagsArrayAND + [ tag.getTagId() ] /> 
141                </#if> 
142                <#if orderAnd0 == "false"> 
143                    <#assign tagsArrayOR = tagsArrayOR + [ tag.getTagId() ] /> 
144                </#if> 
145            </#list> 
146        </#list> 
147    </#if> 
148</#if> 
149 
150 
151<#if secondQuery??> 
152    <#if secondQuery == "assetCategories"> 
153        <#list queryValues1 as queryValue1> 
154            <#assign num = queryValue1?number> 
155            <#if orderAnd1 == "true"> 
156                <#assign categoriesArrayAND = categoriesArrayAND + [ num ] /> 
157            </#if> 
158            <#if orderAnd1 == "false"> 
159                <#assign categoriesArrayOR = categoriesArrayOR + [ num ] /> 
160            </#if> 
161        </#list> 
162    <#elseif secondQuery == "assetTags">   
163        <#list queryValues1 as queryValue1> 
164            <#assign dynamicQuery = AssetTagLocalService.dynamicQuery().add(pfu.forName("name").like("%" + queryValue1 + "%"))> 
165            <#assign tags = AssetTagLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
166            <#list tags as tag> 
167                 <#if orderAnd1 == "true"> 
168                    <#assign tagsArrayAND = tagsArrayAND + [ tag.getTagId() ] /> 
169                </#if> 
170                <#if orderAnd1 == "false"> 
171                    <#assign tagsArrayOR = tagsArrayOR + [ tag.getTagId() ] /> 
172                </#if> 
173            </#list> 
174        </#list> 
175    </#if> 
176</#if> 
177 
178 
179 
180 
181<#if slugs["township"]?has_content && slugs["province"]?has_content> 
182    <#assign typePathKey = pathKey.findByType("township")> 
183    <#assign slug = slugs["township"]> 
184    <#assign idPathKey = typePathKey.getKeyId()> 
185    <#assign nameCategory = pathValue.getBySlugName(idPathKey, slug, custom_language)> 
186 
187 
188    <#assign dynamicQuery = AssetCategoryLocalService.dynamicQuery().add(pfu.forName("name").like("%" + nameCategory + "%"))> 
189    <#assign categories = AssetCategoryLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
190    <#list categories as category> 
191        <#assign categoriesArrayAND = categoriesArrayAND + [ category.getCategoryId() ] /> 
192    </#list> 
193<#elseif slugs["province"]?has_content> 
194       <#assign typePathKey = pathKey.findByType("province")> 
195    <#assign slug = slugs["province"]> 
196 
197    <#assign idPathKey = typePathKey.getKeyId()> 
198    <#assign nameCategory = pathValue.getBySlugName(idPathKey, slug, custom_language)> 
199	<#assign nameCategory = nameCategory + " (Provincia)"> 
200 
201    <#assign dynamicQuery = AssetCategoryLocalService.dynamicQuery().add(pfu.forName("name").like("%" + nameCategory + "%"))> 
202    <#assign categories = AssetCategoryLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
203    <#list categories as category> 
204        <#assign categoriesArrayAND = categoriesArrayAND + [ category.getCategoryId() ] /> 
205    </#list> 
206 
207</#if> 
208 
209 
210<#if slugs["type"]?has_content> 
211    <#assign typePathKey = pathKey.findByType("type")> 
212    <#assign slug = slugs["type"]> 
213 
214    <#assign idPathKey = typePathKey.getKeyId()> 
215    <#assign nameCategory = pathValue.getBySlugName(idPathKey, slug, custom_language)> 
216 
217 
218    <#assign dynamicQuery = AssetCategoryLocalService.dynamicQuery().add(pfu.forName("name").like("%" + nameCategory + "%"))> 
219    <#assign categories = AssetCategoryLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
220    <#list categories as category> 
221        <#assign categoriesArrayAND = categoriesArrayAND + [ category.getCategoryId() ] /> 
222    </#list> 
223 
224</#if> 
225 
226<#if slugs["subtype"]?has_content> 
227    <#assign typePathKey = pathKey.findByType("subtype")> 
228    <#assign slug = slugs["subtype"]> 
229 
230    <#assign idPathKey = typePathKey.getKeyId()> 
231    <#assign nameCategory = pathValue.getBySlugName(idPathKey, slug, custom_language)> 
232 
233 
234    <#assign dynamicQuery = AssetCategoryLocalService.dynamicQuery().add(pfu.forName("name").like("%" + nameCategory + "%"))> 
235    <#assign categories = AssetCategoryLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
236    <#list categories as category> 
237        <#assign categoriesArrayAND = categoriesArrayAND + [ category.getCategoryId() ] /> 
238    </#list> 
239 
240</#if> 
241 
242<#if slugs["segment"]?has_content> 
243    <#assign typePathKey = pathKey.findByType("segment")> 
244    <#assign slug = slugs["segment"]> 
245 
246    <#assign idPathKey = typePathKey.getKeyId()> 
247    <#assign nameCategory = pathValue.getBySlugName(idPathKey, slug, custom_language)> 
248 
249 
250    <#assign dynamicQuery = AssetCategoryLocalService.dynamicQuery().add(pfu.forName("name").like("%" + nameCategory + "%"))> 
251    <#assign categories = AssetCategoryLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
252    <#list categories as category> 
253        <#assign categoriesArrayAND = categoriesArrayAND + [ category.getCategoryId() ] /> 
254    </#list> 
255 
256</#if> 
257 
258 
259<#if slugs["subsegment"]?has_content> 
260    <#assign typePathKey = pathKey.findByType("subsegment")> 
261    <#assign slug = slugs["subsegment"]> 
262 
263    <#assign idPathKey = typePathKey.getKeyId()> 
264    <#assign nameCategory = pathValue.getBySlugName(idPathKey, slug, custom_language)> 
265 
266 
267    <#assign dynamicQuery = AssetCategoryLocalService.dynamicQuery().add(pfu.forName("name").like("%" + nameCategory + "%"))> 
268    <#assign categories = AssetCategoryLocalService.dynamicQuery(dynamicQuery, 0, 1) > 
269    <#list categories as category> 
270        <#assign categoriesArrayAND = categoriesArrayAND + [ category.getCategoryId() ] /> 
271    </#list> 
272 
273</#if> 
274 
275 
276<#assign prueba =  aeq.setAllCategoryIds(categoriesArrayAND) > 
277<#assign prueba =  aeq.setAnyCategoryIds(categoriesArrayOR) > 
278 
279<#assign prueba =  aeq.setAllTagIds(tagsArrayAND) > 
280<#assign prueba =  aeq.setAnyTagIds(tagsArrayOR) > 
281 
282<#assign prueba =  aeq.setStart(0) > 
283<#assign prueba =  aeq.setEnd(size) > 
284 
285<#if orders1??> 
286    <#assign prueba =  aeq.setOrderByCol1(orders1[0]) > 
287</#if> 
288 
289<#if orders2??> 
290    <#assign prueba =  aeq.setOrderByCol2(orders2[0]) > 
291</#if> 
292 
293 
294<#assign assetEntryList = AssetEntryLocalService.getEntries(aeq)> 
295<#else> 
296    <#assign assetEntryList = entries> 
297</#if>   
298 
299 
300 
301<#assign pdfCarrusel = "pdf-carrusel-" + randomNamespace>  
302<#if assetEntryList?has_content>  
303	<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>  
304		<section id="${pdfCarrusel}" class="pt-5 pb-5">  
305			<h2 class="text-center title-big"> <@liferay.language key="published.last-publication"/> </h2>  
306			<div class="pdf-carrusel carousel slick-carousel wrapped-content">					  
307				<#list assetEntryList as entry>  
308					<#assign renderer = entry.getAssetRenderer()>  
309					<#assign className = renderer.getClassName() > 
310						<#if className == "com.liferay.journal.model.JournalArticle" >  
311							<#assign journalArticle = renderer.getArticle() >						 
312							<#assign document = saxReaderUtil.read(journalArticle.getContent()) >  
313							<#assign rootElement = document.getRootElement() >  
314							<#assign urlFriendly = "/"+locale.getLanguage()+"/publicaciones" >  
315							<#assign urlFriendly = urlFriendly+"/"+journalArticle.getUrlTitle() >  
316							 
317							<#assign publicacionPDF =[] 
318									 publicacionText=[] >  
319							 
320							<#list rootElement.elements() as dynamicElement >  
321								<#if "fotodeportada" == dynamicElement.attributeValue("name") >  
322									<#assign fotodeportada = dynamicElement.element("dynamic-content").getText() >  
323								</#if>  
324								<#if "publicacion" == dynamicElement.attributeValue("name") > 
325									<#assign publicacion = dynamicElement.element("dynamic-content").getText() >  
326									<#assign publicacionElements = dynamicElement.element("dynamic-content").elements() > 
327									<#list dynamicElement.element("dynamic-element").elements() as dpubli > 
328										<#if dpubli.getText()?trim?length gt 0 >	 
329											<#assign  publicacionText = publicacionText + [dpubli.getText()] >									 
330										</#if> 
331									</#list> 
332	 								<#list dynamicElement.elements() as algo > 									 
333										<#if algo.getText()?trim?length gt 0 >										 
334											<#assign  publicacionPDF = publicacionPDF + [algo.getText()] > 
335										</#if>  
336									</#list>													 								 
337								</#if>  
338							</#list>  
339							 
340							<div class="slick-item h-100">  
341								<div class="row">  
342									<div class="col-4 mt-0 mb-auto">  
343										<img class="image-pdf w-100 image-result" <#if fotodeportada?length gt 0 > src="${fotodeportada}" <#else> src="/o/main-theme/images/publicaciones.svg" </#if> alt="Image"/>  
344									</div>  
345									<div class="col-8"> 
346										<p class="tag-title">  
347											<a href="${urlFriendly}">${journalArticle.getTitle()}</a>  
348										</p>  
349										<div class="tag-download"> 
350											<@liferay.language key="download" />: 
351										</div>	 
352										<#assign textpubli = "" > 
353										<#list publicacionPDF as pdf > 
354											<#if pdf?index lt publicacionText?size >										 
355											<#if pdf?length gt 0 > 
356												<#if textpubli?contains(publicacionText[pdf?index]) == false > 
357													<#assign textpubli = textpubli +" "+publicacionText[pdf?index] > 
358													<a class="link-pdf text-uppercase" href="${pdf}" target="_blank" download="${journalArticle.getTitle()}">${publicacionText[pdf?index]}</a>										  
359												</#if> 
360											</#if> 
361											</#if> 
362										</#list>								   
363									</div>  
364								</div> 
365							</div> 
366						</#if>  
367					 
368				</#list>  
369			</div>  
370		</section>  
371	 
372	 
373	<style>  
374	#${pdfCarrusel} { padding: 5rem 0; }  
375	#${pdfCarrusel} .image-pdf { min-height: 5rem; height: auto; max-height: 10rem; object-fit: cover; margin: 0 auto; }  
376	#${pdfCarrusel} .slick-item { padding: 1rem; }  
377	#${pdfCarrusel} .slick-item[aria-hidden=true] { visibility: hidden; height: 0; }  
378	#${pdfCarrusel} .tag-title a{ font-size: 1.4rem; text-transform: uppercase; transform: scaleX(0.9); transform-origin: left; color:#CB4F40; }  
379	#${pdfCarrusel} .tag-download{ font-size: 1rem; }  
380	#${pdfCarrusel} .link-pdf { font-size: 1rem; color: #0078BF; }  
381	</style>  
382	 
383	 
384	 
385	<link rel="stylesheet" type="text/css" href="slick/slick.css"/>  
386	<link rel="stylesheet" type="text/css" href="slick/slick-theme.css"/>  
387	<script> 
388	        $(window).ready(function() { 
389	              if(typeof $.fn.slick === 'function'){ 
390	                var total = "${assetEntryList?size}"; 
391	                  $("#${pdfCarrusel} .pdf-carrusel:not(.slick-initialized)").slick({ 
392	                      dots: total>4, 
393	                      arrows: false, 
394	                      infinite: true, 
395	                      slidesToShow: 4, 
396	                      slidesToScroll: 4, 
397	                        responsive: [ 
398
399						      breakpoint: 1024, 
400						      settings: { 
401						        slidesToShow: 3, 
402						        slidesToScroll: 3, 
403						        infinite: true, 
404						        dots: true 
405
406						    }, 
407
408						      breakpoint: 600, 
409						      settings: { 
410						        slidesToShow: 2, 
411						        slidesToScroll: 2 
412
413						    }, 
414
415						      breakpoint: 480, 
416						      settings: { 
417						        slidesToShow: 1, 
418						        slidesToScroll: 1 
419
420
421						    // You can unslick at a given breakpoint now by adding: 
422						    // settings: "unslick" 
423						    // instead of a settings object 
424
425	                   }); 
426
427	        }); 
428	  </script>  
429   
430  <#else>		 	 
431<#assign usrRoles = user.getRoles()> 
432<#list usrRoles as usrRole> 
433    <#if usrRole.getName() == "Administrator"> 
434		<section class="pt-5 pb-5"> 
435			 <h5 class="text-uppercase text-center empty-message f-source-sans-pro"> 
436	 		 	<@liferay.language key="highlighted.search.results.empty"/> 
437			 </h5> 
438	    </section>		         
439    </#if>  
440</#list>  
441</#if>