An error occurred while processing the template.
When calling function "createStyleIcon", required parameter "name" (parameter #1) was specified, but had null/missing value.
----
Tip: If the parameter value expression on the caller side is known to be legally null/missing, you may want to specify a default value for it with the "!" operator, like paramValue!defaultValue.
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #function createStyleIcon(name) [in template "12187455#12187494#3138569" in function "createStyleIcon" at line 229, column 1]
- Reached through: ${createStyleIcon(typeOfWork)} [in template "12187455#12187494#3138569" at line 40, column 95]
----
1<style>
2 @media(max-width: 990px){
3 .desktop-buttons{
4 display:none!important;
5 }
6 }
7 .desktop-buttons{
8 padding: 2%;
9 }
10</style>
11<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
12<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
13<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
14<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.link.service.AssetLinkLocalService") />
15<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
16<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
17<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
18<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() />
19<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
20<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
21<div class="background-color--gray pb-5">
22 <section class="detail__banner">
23 <div class="detail__banner--image">
24 <#if sep_imagen_cabecera.imagen_cabecera.getData()?? && sep_imagen_cabecera.imagen_cabecera.getData() != "">
25 <img alt="${sep_imagen_cabecera.imagen_cabecera.getAttribute("alt")}" data-fileentryid="${sep_imagen_cabecera.imagen_cabecera.getAttribute("fileEntryId")}" src="${sep_imagen_cabecera.imagen_cabecera.getData()}" />
26 </#if>
27 </div>
28 <#assign categories = currentArticleAssetEntry.getCategories() >
29 <#if categories?? && (categories?size > 0) >
30 <#list categories as categoryElement>
31 <#if categoryElement.getPath(locale)?contains("Country") || categoryElement.getPath(locale)?contains("Pais") >
32 <#assign country = categoryElement.getTitle(locale) />
33 <#elseif categoryElement.getPath(locale)?contains("work") || categoryElement.getPath(locale)?contains("construccion") >
34 <#assign typeOfWork = categoryElement.getName() />
35 </#if>
36 </#list>
37 </#if>
38 <div class="container">
39 <div class="detail__banner--category">
40 <div class="detail__banner--category-icon"><span class="fcc-i_${createStyleIcon(typeOfWork)}"></span></div>
41 <#-- breadcrum -->
42 <div class="detail__banner--category-breadcrumb">
43 <@breadcrum/>
44 </div>
45 </div>
46 <p class="detail__banner--title">${.vars['reserved-article-title'].data}</p>
47 <p class="detail__banner--country">${country}</p>
48 </div>
49 <div class="detail__banner--featured">
50 <div class="container">
51 <div class="row">
52 <#if DatosDestacados?? && DatosDestacados.getSiblings()?has_content >
53 <#list DatosDestacados.getSiblings() as datoDestacado>
54 <div class="col-12 col-sm-3 item">
55 <p class="detail__banner--featured-data">${datoDestacado.TextoSuperior.getData()}</p>
56 <p class="detail__banner--featured-unit">${datoDestacado.TextoInferior.getData()}</p>
57 </div>
58 </#list>
59 </#if>
60 </div>
61 </div>
62 </div>
63 </section>
64 <#-- <p class="detail__slider--text d-lg-none">${.vars['reserved-article-description'].data} </p> -->
65 <section class="detail__slider container">
66 <div class="detail__slider--text d-lg-none">
67 ${.vars['reserved-article-description'].data}
68 </div>
69 <#if sep_galeria_medios?? && sep_galeria_medios.getSiblings()?has_content >
70 <div class="slick-container">
71 <div class="slick__pagination d-none d-lg-block">
72 ${.vars['reserved-article-description'].data}
73 <!-- Add Pagination -->
74 <p class="slick-fraction"></p>
75 <!-- Add Progress bar -->
76 <div class="slick-progress">
77 <div class="progress">
78 <div class="progress-bar" role="progressbar" aria-valuenow="" aria-valuemin="0" aria-valuemax="100"></div>
79 </div>
80 </div>
81 </div>
82 <div class="slick-wrapper">
83 <ul class="slick-active-slide">
84 <#list sep_galeria_medios.getSiblings() as galeria>
85 <#if galeria.galeria_medios?? && galeria.galeria_medios.data?has_content >
86 <li class="slick-slide">
87 <#if galeria.galeria_medios.data?contains('.tif/') || galeria.galeria_medios.data?contains('.TIF/') >
88 <a title="<@liferay.language_format arguments="${galeria.alt_galeria_medios.data}" key="show-x" />" href="${galeria.galeria_medios.data&imageThumbnail=1}" target="_blank">
89 <img src="${galeria.galeria_medios.data&imageThumbnail=1}" alt="${galeria.alt_galeria_medios.data}"/>
90 </a>
91 <#else>
92 <#assign imagen = galeria.galeria_medios.data />
93 <#if (imagen?has_content)>
94 <#assign imagenMap = imagen?eval />
95 <#assign imagenGroupId = imagenMap["groupId"]?number />
96 <#assign imagenUuid = imagenMap["uuid"] />
97 </#if>
98 <#assign urlImage = "" />
99 <#if (imagen?has_content) && (imagenGroupId != 0)>
100 <#assign dlElement = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(imagenUuid, imagenGroupId) />
101 <#assign urlImage = portalUtil.getPortalURL(renderRequest) + '/documents/' + dlElement.getRepositoryId() + '/' + dlElement.getFolderId() + '/' + htmlUtil.escapeURL(dlElement.getTitle()) +'/' + dlElement.getUuid() + '?' + dlElement.getVersion() />
102 </#if>
103 <img src="${urlImage}" alt="${galeria.alt_galeria_medios.data}"/>
104
105 </#if>
106 </li>
107 </#if>
108 </#list>
109 </ul>
110 <ul class="slick-nav">
111 <#list sep_galeria_medios.getSiblings() as galeria>
112 <#if galeria.galeria_medios?? && galeria.galeria_medios.data?has_content >
113 <li class="slick-slide">
114 <#if galeria.galeria_medios.data?contains('.tif/') || galeria.galeria_medios.data?contains('.TIF/') >
115 <a title="<@liferay.language_format arguments="${galeria.alt_galeria_medios.data}" key="show-x" />" href="${galeria.galeria_medios.data&imageThumbnail=1}" target="_blank">
116 <img src="${galeria.galeria_medios.data&imageThumbnail=1}" alt="${galeria.alt_galeria_medios.data}"/>
117 </a>
118 <#else>
119 <#assign imagen = galeria.galeria_medios.data />
120 <#if (imagen?has_content)>
121 <#assign imagenMap = imagen?eval />
122 <#assign imagenGroupId = imagenMap["groupId"]?number />
123 <#assign imagenUuid = imagenMap["uuid"] />
124 </#if>
125 <#assign urlImage = "" />
126 <#if (imagen?has_content) && (imagenGroupId != 0)>
127 <#assign dlElement = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(imagenUuid, imagenGroupId) />
128 <#assign urlImage = portalUtil.getPortalURL(renderRequest) + '/documents/' + dlElement.getRepositoryId() + '/' + dlElement.getFolderId() + '/' + htmlUtil.escapeURL(dlElement.getTitle()) +'/' + dlElement.getUuid() + '?' + dlElement.getVersion() />
129 </#if>
130 <img src="${urlImage}" alt="${galeria.alt_galeria_medios.data}"/>
131 </#if>
132 </li>
133 </#if>
134 </#list>
135 </ul>
136 </div>
137 <div class="slick__pagination-mobile d-lg-none">
138 <p class="slick-fraction"></p>
139 </div>
140 </div>
141 </#if>
142 <div class="desktop-buttons d-flex justify-content-between">
143 <button class="slick-prev slick-arrow" aria-label="Previous" type="button" style="">Previous</button>
144 <button class="slick-next slick-arrow" aria-label="Next" type="button" style="">Next</button>
145 </div>
146 </section>
147 <section class="detail__paragraph container">
148 <div class="row">
149 <div class="col-sm-8 col-sm-offset-2">
150 ${descripcion.getData()}
151 </div>
152 </div>
153 </section>
154 <#-- FICHAS DESTACADAS -->
155 <#if validator.isNotNull(FichasDestacadas.getSiblings()[0].TituloDestacado.getData()) >
156 <#if FichasDestacadas?? && FichasDestacadas.getSiblings()?has_content >
157 <section class="detail__featuredTag container">
158 <div class="row">
159 <#list FichasDestacadas.getSiblings() as fichaDestacada>
160 <div class="col-4">
161 <div class="detail__featuredTag-item">
162 <#if fichaDestacada.Icono.getData()?? && fichaDestacada.Icono.getData() != "">
163 <img alt="${fichaDestacada.Icono.getAttribute("alt")}" data-fileentryid="${fichaDestacada.Icono.getAttribute("fileEntryId")}" src="${fichaDestacada.Icono.getData()}" />
164 </#if>
165 <#if fichaDestacada.TituloDestacado?? && fichaDestacada.TituloDestacado.getData()?? && fichaDestacada.TituloDestacado.getData() != "">
166 <p class="detail__featuredTag-item--title">${fichaDestacada.TituloDestacado.getData()} </p>
167 </#if>
168
169 <#if fichaDestacada.DescripcionDestacado?? && fichaDestacada.DescripcionDestacado.getData()?? && fichaDestacada.DescripcionDestacado.getData() != "">
170 <p>${fichaDestacada.DescripcionDestacado.getData()} </p>
171 </#if>
172 </div>
173 </div>
174 </#list>
175 </div>
176 </section>
177 </#if>
178 </#if>
179 <section class="detail__paragraph container">
180 <div class="row">
181 <div class="col-sm-8 col-sm-offset-2">
182 <#if validator.isNotNull(HTMLLibre1.getData()) >
183 <#-- HTML LIBRE -->
184 ${HTMLLibre1.getData()}
185 </#if>
186 <#-- CITA -->
187 <div class="detail__paragraph--quote">
188 <#if existCitas(Cita) >
189 <span class="detail__paragraph--quote-icon fcc-opinion_ocio"></span>
190 <#list Cita.getSiblings() as cita>
191 <#if cita.Autor?? && cita.Autor.getData()?? && cita.Autor.getData() != "">
192 <p class="author">${cita.Autor.getData()} </p>
193 </#if>
194 <#if cita.Texto?? && cita.Texto.getData()?? && cita.Texto.getData() != "">
195 <p>${cita.Texto.getData()} </p>
196 </#if>
197 </#list>
198 </#if>
199 </div>
200 <#if validator.isNotNull(HTMLLibre2.getData()) >
201 <#-- HTML LIBRE -->
202 ${HTMLLibre2.getData()}
203 </#if>
204 </div>
205 </div>
206 </section>
207</div>
208
209<#macro breadcrum>
210 <#assign layout_actual = layout />
211 <#assign breadcrumbList = [] />
212 <#list 0..10 as i>
213 <#assign parentId = layout_actual.getParentPlid() />
214 <#if parentId == 0 >
215 <#break>
216 <#else>
217 <#assign layout_actual = layoutLocalService.getLayout(parentId) />
218 <#assign breadcrumbList = breadcrumbList + [layout_actual] />
219 </#if>
220 </#list>
221 <#assign size = breadcrumbList?size - 1/>
222 <#list breadcrumbList?reverse as breadcrumb>
223 <p>${breadcrumb.getName(locale)}</p>
224 <#--<#assign completeUrl = portalUtil.getLayoutFullURL(breadcrumb, themeDisplay) />
225 <li><a href="${completeUrl}">${breadcrumb.getName(locale)}</a></li>-->
226 </#list>
227</#macro>
228
229<#function createStyleIcon name>
230 <#return name?replace("á", "a")?replace("é","e")?replace("í","i")?replace("ó","o")?replace("ú","u")?replace(" ","")?lower_case >
231</#function>
232
233<#function existCitas Cita>
234 <#if Cita?? && Cita.getSiblings()?has_content >
235 <#list Cita.getSiblings() as cita>
236 <#if cita.Autor?? && cita.Autor.getData()?? && cita.Autor.getData() != "">
237 <#return true>
238 </#if>
239 <#if cita.Texto?? && cita.Texto.getData()?? && cita.Texto.getData() != "">
240 <#return true>
241 </#if>
242 </#list>
243 </#if>
244 <#return false>
245</#function>
246
247<script>
248 $('.slick-prev').on('click', function(){
249 var slideIndex = $('.slick-active').attr('data-slick-index');
250 var newind = parseInt(slideIndex) - 1;
251 $('.slick-active-slide').slick("slickGoTo", parseInt(newind));
252 });
253 $('.slick-next').on('click', function(){
254 var slideIndex = $('.slick-active').attr('data-slick-index');
255 var newind = parseInt(slideIndex) + 1;
256 $('.slick-active-slide').slick("slickGoTo", parseInt(newind));
257 });
258</script>