
Oferta especial
Can't compare values of these types. Allowed comparisons are between two numbers, two strings, two dates, or two booleans. Left hand operand is a sequence (wrapper: f.t.SimpleSequence). Right hand operand is a string (wrapper: f.t.SimpleScalar). The blamed expression: ==> link_text != "" [in template "20115#20151#1205730" at line 44, column 37] ---- FTL stack trace ("~" means nesting-related): - Failed at: #if link_text?? && link_text != "" [in template "20115#20151#1205730" at line 44, column 17] ----
1<#if entries?has_content>
2 <#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"]>
3 <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]>
4 <#assign GroupLocalServiceUtil = staticUtil["com.liferay.portal.kernel.service.GroupLocalServiceUtil"] />
5 <#assign dlutil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"]/>
6 <#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]/>
7 <#list entries as curEntry>
8 <#assign renderer = curEntry.getAssetRenderer() />
9 <#assign className = renderer.getClassName() />
10 <#if className == "com.liferay.journal.model.JournalArticle">
11 <#assign journalArticle = renderer.getArticle() />
12 <#assign xml = journalArticle.getContentByLocale(locale.toString()) />
13 <#assign doc = saxReaderUtil.read(xml) />
14 <#assign zurichService = serviceLocator.findService("com.zurich.tools.util.ZurichToolsService")/>
15 <#assign html_id = doc.valueOf('//dynamic-element[@name="html_id"]/dynamic-content')/>
16 <div class="mod mod-Promo" id="${html_id}">
17 <div class="container">
18 <div class="row">
19 <div class="elements-block">
20 <div class="row">
21 <#assign imagen = ""/>
22
23 <#assign imagenJson = doc.valueOf('//dynamic-element[@name="image"]/dynamic-content')/>
24 <#assign imageAlt = ""/>
25 <#assign imageFileEntryId = "" />
26 <#if imagenJson?? && imagenJson != "">
27 <#assign imagenJs = imagenJson?eval>
28 <#assign fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(imagenJs.uuid, getterUtil.getLongStrict(imagenJs.groupId)) />
29 <#assign imagen = dlutil.getPreviewURL(fileEntry,fileEntry.getFileVersion(), themeDisplay,"") />
30 <#assign imageAlt = imagenJs.alt/>
31 <#if imagenJs.fileEntryId?? >
32 <#assign imageFileEntryId = imagenJs.fileEntryId />
33 </#if>
34 </#if>
35 <#assign src = doc.valueOf('//dynamic-element[@name="src_image"]/dynamic-content') />
36
37
38 <#assign title = doc.valueOf('//dynamic-element[@name="title"]/dynamic-content') />
39 <#assign description = doc.valueOf('//dynamic-element[@name="description"]/dynamic-content') />
40
41 <#assign links_align = doc.valueOf('//dynamic-element[@name="links_align"]/dynamic-content') />
42 <#assign link_text = doc.selectNodes('/root/dynamic-element[@name="link_text"]') />
43
44 <#if link_text?? && link_text != "">
45
46 <#assign link_page_link = doc.valueOf('//dynamic-element[@name="link_page_link"]/dynamic-content') />
47 <#assign link_friendly_page_link=""/>
48 <#if link_page_link != "">
49 <#list link_page_link?split("@") as item>
50 <#if item_index = 0>
51 <#assign linkPageId = item?number>
52 </#if>
53 <#if item_index == 1>
54 <#if item == "private">
55 <#assign linkPrivate = true>
56 <#else>
57 <#assign linkPrivate = false>
58 </#if>
59 </#if>
60 <#if item_index == 2>
61 <#assign linkGroupId = item?number>
62 </#if>
63 </#list>
64 <#assign pageLayout = layoutLocalService.getLayout(linkGroupId, linkPrivate, linkPageId)>
65 <#assign link_friendly_page_link = portalUtil.getLayoutFriendlyURL(pageLayout, themeDisplay)>
66 </#if>
67 <#assign link_file_link = doc.valueOf('//dynamic-element[@name="link_file_link"]/dynamic-content') />
68 <#if link_file_link?? && link_file_link != "">
69 <#assign fileJsLink = link_file_link?eval>
70 <#assign fileEntryLink = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileJsLink.uuid, getterUtil.getLongStrict(fileJsLink.groupId)) />
71 <#assign link_file_link = dlutil.getPreviewURL(fileEntryLink,fileEntryLink.getFileVersion(),themeDisplay,"") />
72 </#if>
73 <#assign link_free_link = doc.valueOf('//dynamic-element[@name="link_free_link"]/dynamic-content') />
74 <#assign link_new_tab = doc.valueOf('//dynamic-element[@name="link_new_tab"]/dynamic-content') />
75 <#assign link_id_prefix = doc.valueOf('//dynamic-element[@name="link_id_prefix"]/dynamic-content') />
76 <#assign link_id = doc.valueOf('//dynamic-element[@name="link_id"]/dynamic-content') />
77 <#assign link_skin = doc.valueOf('//dynamic-element[@name="link_skin"]/dynamic-content') />
78 <#assign link_title = doc.valueOf('//dynamic-element[@name="link_title"]/dynamic-content') />
79 <#if link_skin?? && link_skin?has_content>
80 <#else>
81 <#assign link_skin = "default">
82 </#if>
83 <#assign extraAttr = "">
84 <#assign link_attr_key = doc.valueOf('//dynamic-element[@name="link_attr_key"]') />
85 <#if link_attr_key?has_content>
86 <#list link_attr_key as cur_link_attr_key>
87 <#assign link_attr_key = cur_link_attr_key.selectSingleNode('dynamic-content').getText()/>
88 <#assign link_attr_value = cur_link_attr_key.valueOf('dynamic-element[@name="link_attr_value"]/dynamic-content/text()') />
89 <#if link_attr_key?? && link_attr_key!="">
90 <#if cur_link_attr_key?is_first>
91 <#assign extraAttr="${link_attr_key} / ${link_attr_value}"/>
92 <#else>
93 <#assign extraAttr="${extraAttr} | ${link_attr_key} / ${link_attr_value}"/>
94 </#if>
95 </#if>
96 </#list>
97 </#if>
98 </#if>
99
100
101 <div class="col-md-12">
102 <div class="element-block">
103 <div class="row">
104 <div class="col-md-6 image">
105 <#if src?? && src != "">
106 <img alt="${imageAlt}"
107 src="${src}" class="img-responsive" />
108 <#elseif imagen?? && imagen != "">
109 <img alt="${imageAlt}"
110 data-fileentryid="${imageFileEntryId}"
111 src="${imagen}" class="img-responsive" />
112 </#if>
113 </div>
114 <div class="col-md-6 text">
115 <div class="promo-tag"></div>
116 <div class="element-description">
117 <div class="element-hashtag">
118 PROMOCIONES
119 </div>
120 <div class="title">
121 ${title}
122 </div>
123 <div class="thicc-border"></div>
124 <#if description?? && description != "">
125 <div class="description">
126 ${description}
127 </div>
128 </#if>
129 <div class="row cta">
130 <#if links_align?? && links_align?has_content>
131 <div class="${links_align}">
132 <#else>
133 <div class="middle">
134 </#if>
135 <#if link_text?? && link_text != "">
136 <#assign linkClass="link-${link_skin}"/>
137
138 <#assign seoLink = zurichService.getSeoLink(themeDisplay.getScopeGroupId(), journalArticle.getArticleId(),link_title, link_friendly_page_link,link_file_link, link_free_link,getterUtil.getBoolean(link_new_tab), linkClass, link_id_prefix, link_id,extraAttr)/>
139
140 <#-- Adaptación del formulario site Agentes: si enlaza a leadsModal se redirige a los nuevos formularios configurados en el expando FormRedirect -->
141 <#if link_free_link == "#leadsModal">
142 <#assign agentesFormUrl = zurichService.getAgenteSiteFormUrl(themeDisplay)/>
143 <#assign seoLink = zurichService.getSeoLink(themeDisplay.getScopeGroupId(), journalArticle.getArticleId(),link_title, agentesFormUrl,link_file_link, "",getterUtil.getBoolean(link_new_tab), linkClass, link_id_prefix, link_id,extraAttr)/>
144 </#if>
145
146 <div class='col-md-6 button-link'>
147 ${seoLink}
148 ${link_text}
149 </a>
150 </div>
151 </div>
152 </#if>
153 </div>
154 </div>
155 </div>
156 </div>
157 <div class="thicc-bottom-border">
158 </div>
159 </div>
160 </div>
161 </#if>
162 </#list>
163 </div>
164 </div>
165 </div>
166 </div>
167 </div>
168
169</#if>

Te ofrecemos distintas modalidades para que contrates el seguro que mejor encaja con tus necesidades. Además, hemos ajustado nuestras tarifas manteniendo la misma calidad en el servicio.
Si se te averia el coche, nuestros técnicos especialistas intentararn arreglarlo insitu para que puedas continuar tu viaje, si no puede solucinarse, remolcaremos tu coche hasta 200km.
Si tienes un problema en la carretera nos comprometemos a enviarte una grúa en menos de 60 minutos, y si no cumplimos te en damos 60 euros*.
Si te quedas sin puntos del permiso de conducir te damos hasta 500 euros del curso de recuperación de puntos.

Nuestro seguro de hogar se adapta a las necesidades de protección todas las casas. Si vives de alquiler o te acabas de comprar una vivienda o tienes una segunda residencia, tenemos las coberturas que necesitas.
"Si el agua te estropea un armario, asumimos los
costes de localización y reparación de la avería y la reposición del armario."
"Si entran a robar en tu casa o trastero,
te indemnizamos por todo lo que tengas asegurado."
"Si el clima extremo te estropea las sillas
y mesa del jardín, te pagamos unos nuevos."

Seas soltero, vivas en pareja o tengas hijos, puedes asegurar tu futuro ante cualquier imprevisto con nuestras coberturas a medida de tus necesidades y precio ajustado.
En caso de fallecimiento del asegurado sus familiares recibirán el pago del capital asegurado.
Si sufres una incapacidad permanente te abonamos el capital garantizado.
Ponemos a tu disposición interesantes servicios adicionales pensados para facilitarte tu día a día. Además, no tendrás que pagar nada por ellos.
** El descuento se aplicará en la contratación y renovaciones de la póliza contratada. Los clientes con una póliza (de auto u hogar) que contraten otra (de auto u hogar) tendrán un 5% de descuento. Los clientes con más de una póliza (de auto u hogar) que contraten otra (de auto u hogar) tendrán un 10% de descuento. Para disfrutar del descuento, el tomador de ambas pólizas deberá ser el mismo. El cliente deberá tener todas las pólizas contratadas con el mismo mediador. El descuento aparecerá incluído en el precio final de la póliza contratada. Si el cliente anula alguna póliza el descuento se verá ajustado en la renovación.
Coberturas sujetas a lo indicado en las Condiciones Generales y Particulares de la póliza.
Protección de datos | Aviso legal | Política de cookies | Política de cookies © Zurich