Golf Comunitat Valenciana

El golf és una bona manera d'alleujar l'estrès i de mantenir-te en forma. La Comunitat Valenciana et brinda la possibilitat de gaudir plenament d'aquest esport a les més modernes instal·lacions, repartides per les províncies d'Alacant, Castelló i València.

Més de 30 camps de golf, integrats en l’entorn natural, posaran a prova les teues destreses i habilitats tècniques. Amb tot luxe de productes i serveis des de diversos punts. Emula els grans, com el castellonenc Sergio García, i sent-te part de l'elit de jugadors de golf. Camps de golf al costat del mar o de la muntanya, on podràs sentir la brisa del Mediterrani amb un clima privilegiat (més de 3.000 hores de sol a l'any). Què més es pot demanar? Consulta en el directori següent els camps de golf homologats per la Federació de Golf de la Comunitat Valenciana o reserva directament els teus drets de joc (green fee) a través de Asociación de Campos de Golf de la Costa Blanca y Comunidad Valenciana.

Troba

Nom
Província 
Alacant/Alicante
Castelló/Castellón
València
Municipis

Propostes de viatge

Inspira't

image
Practicar Golf a la Comunitat Valenciana és unir la teua afició favorita amb boscos i localitats centenaris, la llum del sol sobre el Mediterrani, una increïble oferta gastronòmica i molt, molt més. A què esperes per a provar-ho?
image
T'apassiona el golf? No és només cosa teua. Aquest esport té una fórmula perfecta que atrau cada any més i més gent: és divertit, es practica a l'aire lliure, fomenta la competitivitat, la concentració i també l'exercici físic.
image
Quan pensem quin seria el lloc ideal per a viure els nostres anys de jubilació, l'objectiu és trobar un lloc on es puga gaudir d'una vida tranquil·la amb totes les necessitats a l'abast i sense haver de ser ric.
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> language_url  [in template "20099#20135#413073" at line 314, column 80]

----
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 urlFriendly = language_url + ...  [in template "20099#20135#413073" at line 314, column 57]
----
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 = language_url+"/publicaciones" >  
315							<#assign urlFriendly = urlFriendly+"/"+journalArticle.getUrlTitle() >  
316							 
317							<#assign publicacionPDF =[] 
318									 publicacionText=[] 
319									 fotodeportada="" >  
320							 
321							<#list rootElement.elements() as dynamicElement >  
322								<#if "fotodeportada" == dynamicElement.attributeValue("name") >  
323									<#assign fotodeportada = dynamicElement.element("dynamic-content").getText() >  
324								</#if>  
325								<#if "publicacion" == dynamicElement.attributeValue("name") > 
326									<#assign publicacion = dynamicElement.element("dynamic-content").getText() >  
327									<#assign publicacionElements = dynamicElement.element("dynamic-content").elements() > 
328									<#list dynamicElement.element("dynamic-element").elements() as dpubli > 
329										<#if dpubli.getText()?trim?length gt 0 >	 
330											<#assign  publicacionText = publicacionText + [dpubli.getText()] >									 
331										</#if> 
332									</#list> 
333	 								<#list dynamicElement.elements() as algo > 									 
334										<#if algo.getText()?trim?length gt 0 >										 
335											<#assign  publicacionPDF = publicacionPDF + [algo.getText()] > 
336										</#if>  
337									</#list>													 								 
338								</#if>  
339							</#list>  
340							 
341							<div class="slick-item h-100">  
342								<div class="row">  
343									<div class="col-4 mt-0 mb-auto">  
344										<img loading="lazy" 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"/>  
345									</div>  
346									<div class="col-8"> 
347										<p class="tag-title">  
348											<a href="${urlFriendly}">${journalArticle.getTitle()}</a>  
349										</p>  
350										<div class="tag-download"> 
351											<@liferay.language key="download" />: 
352										</div>	 
353										<#assign textpubli = "" > 
354										<#list publicacionPDF as pdf > 
355											<#if pdf?index lt publicacionText?size >										 
356											<#if pdf?length gt 0 > 
357												<#if textpubli?contains(publicacionText[pdf?index]) == false > 
358													<#assign textpubli = textpubli +" "+publicacionText[pdf?index] > 
359													<a class="link-pdf text-uppercase" href="${pdf}" target="_blank" download="${journalArticle.getTitle()}">${publicacionText[pdf?index]}</a>										  
360												</#if> 
361											</#if> 
362											</#if> 
363										</#list>								   
364									</div>  
365								</div> 
366							</div> 
367						</#if>  
368					 
369				</#list>  
370			</div>  
371		</section>  
372	 
373	 
374	<style>  
375	#${pdfCarrusel} { padding: 5rem 0; }  
376	#${pdfCarrusel} .image-pdf { min-height: 5rem; height: auto; max-height: 10rem; object-fit: cover; margin: 0 auto; }  
377	#${pdfCarrusel} .slick-item { padding: 1rem; }  
378	#${pdfCarrusel} .slick-item[aria-hidden=true] { visibility: hidden; height: 0; }  
379	#${pdfCarrusel} .tag-title a{ font-size: 1.4rem; text-transform: uppercase; transform: scaleX(0.9); transform-origin: left; color:#CB4F40; }  
380	#${pdfCarrusel} .tag-download{ font-size: 1rem; }  
381	#${pdfCarrusel} .link-pdf { font-size: 1rem; color: #0078BF; }  
382	</style>  
383	 
384	 
385	 
386	<link rel="stylesheet" type="text/css" href="slick/slick.css"/>  
387	<link rel="stylesheet" type="text/css" href="slick/slick-theme.css"/>  
388	<script> 
389	        $(window).ready(function() { 
390	              if(typeof $.fn.slick === 'function'){ 
391	                var total = "${assetEntryList?size}"; 
392	                  $("#${pdfCarrusel} .pdf-carrusel:not(.slick-initialized)").slick({ 
393	                      dots: total>4, 
394	                      arrows: false, 
395	                      infinite: true, 
396	                      slidesToShow: 4, 
397	                      slidesToScroll: 4, 
398	                        responsive: [ 
399
400						      breakpoint: 1024, 
401						      settings: { 
402						        slidesToShow: 3, 
403						        slidesToScroll: 3, 
404						        infinite: true, 
405						        dots: true 
406
407						    }, 
408
409						      breakpoint: 600, 
410						      settings: { 
411						        slidesToShow: 2, 
412						        slidesToScroll: 2 
413
414						    }, 
415
416						      breakpoint: 480, 
417						      settings: { 
418						        slidesToShow: 1, 
419						        slidesToScroll: 1 
420
421
422						    // You can unslick at a given breakpoint now by adding: 
423						    // settings: "unslick" 
424						    // instead of a settings object 
425
426	                   }); 
427
428	        }); 
429	  </script>  
430   
431  <#else>		 	 
432<#assign usrRoles = user.getRoles()> 
433<#list usrRoles as usrRole> 
434    <#if usrRole.getName() == "Administrator"> 
435		<section class="pt-5 pb-5"> 
436			 <h5 class="text-uppercase text-center empty-message f-source-sans-pro"> 
437	 		 	<@liferay.language key="highlighted.search.results.empty"/> 
438			 </h5> 
439	    </section>		         
440    </#if>  
441</#list>  
442</#if>