Mecalux News

Se ha producido un error al procesar la plantilla.
Java method "com.mecalux.util.service.impl.MlxUrlUtilServiceImpl.getUrlByJournalArticle(com.liferay.journal.model.JournalArticle, String, long)" threw an exception when invoked on com.mecalux.util.service.impl.MlxUrlUtilServiceImpl object "com.mecalux.util.service.impl.MlxUrlUtilServiceImpl@43669969"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign articleUrl = mlxUrlUtilServic...  [in template "20101#20128#8900724" at line 394, column 25]
----
1<#assign tagService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService") /> 
2<#assign cdn = (mlxUrlUtilService.getCdn(groupId))!"" /> 
3<#assign globalGroupId = mlxConstants.getLongConstant("GroupIds","GLOBAL")/> 
4 
5<#if entries?has_content> 
6 
7    <#--MKTG-1196: US Date format --> 
8    <#assign domain = themeDisplay.getPortalDomain() /> 
9    <#assign dateFormat = "dd MMM yyyy"/> 
10    <#if (domain?contains("us")) || (domain?contains("interlake")) > 
11        <#assign dateFormat = "MMMMMMMMM d, yyyy" /> 
12    </#if> 
13 
14    <#assign itemsDestacados = [] /> 
15    <#assign itemsPosts = [] /> 
16    <#assign videoPosts = [] /> 
17 
18    <!-- IDS necesarios para filtrar x estructura --> 
19    <#assign casoPracticoStrKey = 416340 /> 
20    <#assign articuloStrKey = 420316 />  
21    <#assign manualArticleStrKey = 434681 /> 
22    <#assign blogStrKey = 467558 />		   
23    <#assign videoStrKey = 415837 /> 
24 
25    <!-- SECCION PARA FILTAR Y RELLENAR ARRAYS:init --> 
26    <#assign destacadoLength = 0 > 
27    <#assign postLength = 0 > 
28    <#assign videosLength = 0 > 
29 
30    <#list entries as curEntry> 
31        <#assign article = mlxAssetHelperService.getJournalArticleByEntry(curEntry) /> 
32        <#assign entry = mlxAssetHelperService.getAssetEntryByJournalArticle(article) /> 
33 
34        <#if destacadoLength < 6> 
35                <#assign destacadoValues = mlxJournalHelperService.getStructureFieldValues(article, "${locale}") /> 
36 
37                <#if article.getDDMStructure().getStructureKey() == "BLOG-POST-STR" > 
38                    <#assign articleImageObj = (destacadoValues["list_image"]?eval)!"{}" /> 
39                    <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImageObj.uuid, "${locale}") /> 
40 
41                    <#if articleImage?has_content> 
42                        <#assign itemsDestacados = itemsDestacados + [article] /> 
43                        <#assign destacadoLength = destacadoLength + 1 > 
44                    </#if> 
45                <#elseif (article.getDDMStructure().getStructureKey() == "PRACTICAL-CASE-STR") > 
46                    <#assign articleImageObj = (destacadoValues.list_imageFieldSet["list_image"]?eval)!"{}" /> 
47                    <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImageObj.uuid, "${locale}") /> 
48 
49                    <#if articleImage?has_content> 
50                        <#assign itemsDestacados = itemsDestacados + [article] /> 
51                        <#assign destacadoLength = destacadoLength + 1 > 
52                    </#if> 
53                <#elseif (article.getDDMStructure().getStructureKey() == "VIDEO-STR")> 
54                    <#assign articleImage = (destacadoValues["social_networks_image"])!"{}" /> 
55                     
56                    <#if articleImage?has_content > 
57                        <#assign articleImage = articleImage?eval /> 
58                        <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImage.uuid, locale) /> 
59                    </#if> 
60 
61                    <#if articleImage?has_content> 
62                        <#assign itemsDestacados = itemsDestacados + [article] /> 
63                        <#assign destacadoLength = destacadoLength + 1 > 
64                    </#if> 
65                <#elseif (article.getDDMStructure().getStructureKey() == "ARTICLE-STR") || (article.getDDMStructure().getStructureKey() == "MANUAL-DE-ALMACENAJE-STR")> 
66                    <#assign articleImage = (destacadoValues["image_list"])!"{}" /> 
67 
68                    <#if articleImage?has_content > 
69                        <#assign articleImage = articleImage?eval /> 
70                        <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImage.uuid, locale) /> 
71                    </#if> 
72 
73                    <#if articleImage?has_content> 
74                        <#assign itemsDestacados = itemsDestacados + [article] /> 
75                        <#assign destacadoLength = destacadoLength + 1 > 
76                    </#if> 
77                <#elseif (article.getDDMStructure().getStructureKey() == "INTERVIEW-STR")> 
78									<#if destacadoValues.hero["hero_image"]??> 
79                    <#assign articleImageObj = (destacadoValues.hero["hero_image"]?eval)!"{}" /> 
80                    <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImageObj.uuid, "${locale}") /> 
81                     
82                    <#if articleImage?has_content> 
83                        <#assign itemsDestacados = itemsDestacados + [article] /> 
84                        <#assign destacadoLength = destacadoLength + 1 > 
85                    </#if> 
86									</#if> 
87                </#if> 
88		<#else> 
89			<#if (curEntry.getClassTypeId() == blogStrKey) > <!-- Clasificación artículos de blog --> 
90                <#assign entryCategoryId = (mlxAssetHelperService.getAssetCategoryByAssetEntryAndVocabularyId(entry, 396071).categoryId)!0 /> 
91 
92                <#if entryCategoryId?has_content> 
93 
94                    <#if (entryCategoryId == 396072) || (entryCategoryId == 396078)> <!-- Automatización / Software --> 
95                     
96                        <#if postLength < 8> 
97                            <#assign itemsPosts = itemsPosts + [article] />   
98                            <#assign postLength = postLength + 1 /> 
99                        </#if> 
100 
101                    </#if> 
102 
103                </#if> 
104            <#elseif (curEntry.getClassTypeId() == videoStrKey)> <!-- Clasificación artículos de video --> 
105                <#assign tags = tagService.getAssetEntryAssetTags(entry.getEntryId()) > 
106 
107                <#if tags?has_content> 
108                    <#list tags as tag > <!-- Automatización / Software --> 
109                        <#if (tag.name == "software")> 
110                           <#if postLength < 8> 
111                                <#assign itemsPosts = itemsPosts + [article] />   
112                                <#assign postLength = postLength + 1 /> 
113                           <#else> 
114                                <#if videosLength < 5> 
115                                    <#assign videoPosts = videoPosts + [article] />   
116                                    <#assign videosLength = videosLength + 1 /> 
117                                </#if> 
118                           </#if> 
119                        <#else> 
120                            <#if videosLength < 5> 
121                                <#assign videoPosts = videoPosts + [article] />   
122                                <#assign videosLength = videosLength + 1 /> 
123                            </#if> 
124                        </#if> 
125                    </#list> 
126                <#else> 
127                    <#if videosLength < 5> 
128                        <#assign videoPosts = videoPosts + [article] />   
129                        <#assign videosLength = videosLength + 1 /> 
130                    </#if> 
131                </#if> 
132 
133             
134            </#if> 
135 
136        </#if> 
137		 
138    </#list> 
139 
140    <!-- SECCION PARA FILTAR Y RELLENAR ARRAYS:end --> 
141 
142    <!-- PINTAR MKTG-526:init --> 
143    <#if itemsDestacados?has_content> 
144    <section class="corporate--actualidad--list"> 
145         
146            <#list itemsDestacados as destacado> 
147                 
148                <#assign destacadoValues = mlxJournalHelperService.getStructureFieldValues(destacado, "${locale}") /> 
149                    <#if destacado.getDDMStructure().getStructureKey() == "ARTICLE-STR" > 
150                        <#assign articleName = (destacadoValues["article_name"]?string)!"" /> 
151                    <#elseif destacado.getDDMStructure().getStructureKey() == "INTERVIEW-STR"> 
152                        <#assign articleName = (destacadoValues.hero["hero_title"]?string)!"" /> 
153                    <#else> 
154                        <#assign articleName = (destacadoValues["name"]?string)!"" /> 
155                    </#if> 
156 
157                <#assign articleDescription = (destacadoValues["description"]?string)!"" /> 
158                <#assign articleUrl =  mlxUrlUtilService.getUrlByJournalArticle(destacado,"${locale}", groupId)?string /> 
159                <#assign articleDate = dateUtil.getDate(destacado.getDisplayDate(), dateFormat, locale)  /> 
160 
161                <!-- obtenemos las imagenes:init --> 
162                <#if destacado.getDDMStructure().getStructureKey() == "BLOG-POST-STR" > 
163                    <#assign articleImageObj = (destacadoValues["list_image"]?eval)!"{}" /> 
164                    <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImageObj.uuid, "${locale}") /> 
165                <#elseif (destacado.getDDMStructure().getStructureKey() == "PRACTICAL-CASE-STR")> 
166                    <#assign articleImageObj = (destacadoValues.list_imageFieldSet["list_image"]?eval)!"{}" /> 
167                    <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImageObj.uuid, "${locale}") /> 
168                <#elseif (destacado.getDDMStructure().getStructureKey() == "VIDEO-STR")> 
169                    <#assign articleImage = (destacadoValues["social_networks_image"])!"{}" /> 
170                     
171                    <#if articleImage?has_content > 
172                        <#assign articleImage = articleImage?eval /> 
173                        <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImage.uuid, locale) /> 
174                    </#if> 
175                <#elseif (destacado.getDDMStructure().getStructureKey() == "INTERVIEW-STR")> 
176                    <#assign articleImageObj = (destacadoValues.hero["hero_image"]?eval)!"{}" /> 
177									  <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImageObj.uuid, "${locale}") /> 
178                <#elseif (destacado.getDDMStructure().getStructureKey() == "ARTICLE-STR") || (destacado.getDDMStructure().getStructureKey() == "MANUAL-DE-ALMACENAJE-STR")> 
179                    <#assign articleImage = (destacadoValues["image_list"])!"{}" /> 
180 
181                    <#if articleImage?has_content > 
182                        <#assign articleImage = articleImage?eval /> 
183                        <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImage.uuid, locale) /> 
184                    </#if> 
185 
186                </#if> 
187                <!-- obtenemos las imagenes:end --> 
188 
189                <!-- obtenemos datos ribbon:init --> 
190                <#if (destacado.getDDMStructure().getStructureKey() == "BLOG-POST-STR")> 
191 
192                    <#assign articleRibbonText><@corporate.mlxlanguage key='mlx.search.blog' /></#assign> 
193                    <#assign ribbonPage  = (mlxMastersHelperService.getLayoutByMasterAndGroup(58009, groupId))!{}> 
194                    <#assign ribbonPageUrl = (ribbonPage.getFriendlyURL(locale))!""> 
195 
196                <#elseif (destacado.getDDMStructure().getStructureKey() == "VIDEO-STR")> 
197 
198                    <#assign articleRibbonText><@corporate.mlxlanguage key='mlx.search.videos' /></#assign> 
199                    <#assign warehouseVideosMasterId = 4175 /> 
200                    <#assign warehouseVideosArticle = mlxMastersHelperService.getJournalArticleByMasterAndGroup(warehouseVideosMasterId, groupId) /> 
201                    <#assign ribbonPageUrl =  mlxUrlUtilService.getUrlByJournalArticle(warehouseVideosArticle,"${locale}", groupId)?string /> 
202                 
203                <#elseif (destacado.getDDMStructure().getStructureKey() == "PRACTICAL-CASE-STR")> 
204                     
205                    <#assign articleRibbonText><@corporate.mlxlanguage key='mlx.search.pcases' /></#assign> 
206									  <#assign pcasesMasterId=56006 /> <#-- referencias--> 
207                    <#assign ribbonPage  = (mlxMastersHelperService.getLayoutByMasterAndGroup(pcasesMasterId, groupId))!""> 
208                    <#if ribbonPage == "" > 
209											<#assign pcasesMasterId=64015 /> <#-- clientes--> 
210											<#assign ribbonPage  = (mlxMastersHelperService.getLayoutByMasterAndGroup(pcasesMasterId, groupId))!""> 
211										</#if> 
212                    <#assign ribbonPageUrl = (ribbonPage.getFriendlyURL(locale))!""> 
213                 
214                <#elseif (destacado.getDDMStructure().getStructureKey() == "MANUAL-DE-ALMACENAJE-STR")> 
215 
216                    <#assign articleRibbonText = "Manual de Almacenaje" /> 
217                    <#assign ribbonPage  = (mlxMastersHelperService.getLayoutByMasterAndGroup(58017, groupId))!{}> 
218                    <#assign ribbonPageUrl = (ribbonPage.getFriendlyURL(locale))!""> 
219                 
220                <#elseif (destacado.getDDMStructure().getStructureKey() == "ARTICLE-STR")> 
221                    <#assign ribbonPageUrl = (ribbonPage.getFriendlyURL(locale))!""> 
222                 
223                    <#assign entry = mlxAssetHelperService.getAssetEntryByJournalArticle(destacado) /> 
224                    <#assign entryCategoryId = (mlxAssetHelperService.getAssetCategoryByAssetEntryAndVocabularyId(entry, 396062).categoryId)!0 />  
225 
226                    <#if entryCategoryId == 396067> <!-- Si es categoría News --> 
227                        <#assign ribbonPage  = (mlxMastersHelperService.getLayoutByMasterAndGroup(58008, groupId))!{}> 
228                        <#assign articleRibbonText><@corporate.mlxlanguage key='mlx.search.news' /></#assign> 
229                        <#assign ribbonPageUrl = (ribbonPage.getFriendlyURL(locale))!""> 
230 
231                    <#elseif entryCategoryId == 396063> <!-- Si es categoría Artículos de logística --> 
232                        <#assign ribbonPage  = (mlxMastersHelperService.getLayoutByMasterAndGroup(58014, groupId))!{}> 
233                        <#assign articleRibbonText><@corporate.mlxlanguage key='mlx.software.content.type.articles' /></#assign> 
234                        <#assign ribbonPageUrl = (ribbonPage.getFriendlyURL(locale))!""> 
235 
236                    </#if> 
237                <#elseif (destacado.getDDMStructure().getStructureKey() == "INTERVIEW-STR")> 
238                        <#assign articleRibbonText><@corporate.mlxlanguage key='mlx.interviews.title' /></#assign> 
239                        <#assign ribbonPage  = (mlxMastersHelperService.getLayoutByMasterAndGroup(430001, groupId))!{}> 
240                        <#assign ribbonPageUrl = (ribbonPage.getFriendlyURL(locale))!""> 
241                </#if> 
242                <!-- obtenemos datos ribbon:end --> 
243 
244                <#if destacado?counter == 1> 
245                        <article class="corporate--actualidad--list--highlighted"> 
246                            <figure class="corporate--actualidad--list--highlighted-figure"> 
247 
248																<#if articleImage?has_content >														 
249																		<#assign imgUrl = cdn + articleImage> 
250																		<#assign imgWidth = '320'> 
251																		<#assign imgTitle = articleName> 
252																		<#assign imgAlt = articleName> 
253																		<#assign imgClass = 'corporate--actualidad--list--highlighted-image'> 
254																		<#assign urlParamConcat = imgUrl?contains("?")?then("&","?")> 
255																		${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', false, 
256																										'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"' 
257																										'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
258																																 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w,' +  
259																																 imgUrl + urlParamConcat + 'imwidth=1024&imdensity=1 1024w,' + 
260																																 imgUrl + urlParamConcat + 'imwidth=2048&imdensity=1 2048w"')} 
261																</#if> 
262 
263                                <div class="corporate--actualidad--list--highlighted-container"> 
264                                    <div class="corporate--actualidad--list--highlighted-wrapper"> 
265                                        <#if articleRibbonText??> 
266                                        <a class="corporate--actualidad--list--item-ribbon" href="${ribbonPageUrl}" title="${articleRibbonText}">${articleRibbonText}</a> 
267                                        </#if> 
268                                        <span class="corporate--actualidad--list--item-date">${articleDate}</span> 
269 
270                                        <a class="corporate--actualidad--list--item-link" href="${articleUrl}" title="${articleName}"> 
271                                            <h3 class="corporate--actualidad--list--highlighted-title">${articleName}</h3> 
272                                        </a> 
273                                    </div> 
274                                </div> 
275                            </figure> 
276                        </article> 
277                </#if> 
278                 
279                <#if (destacado?counter > 1) && (destacado?counter < 4)> 
280                    <#if destacado?counter == 2> 
281                        <div class="corporate--actualidad--list--row"> 
282                            <div class="corporate--actualidad--list--col"> 
283                    </#if> 
284   
285                        <article class="corporate--actualidad--list--item-big"> 
286                            <figure class="corporate--actualidad--list--item-big-figure"> 
287 
288																<#if articleImage?has_content >														 
289																		<#assign imgUrl = cdn + articleImage> 
290																		<#assign imgWidth = '320'> 
291																		<#assign imgTitle = articleName> 
292																		<#assign imgAlt = articleName> 
293																		<#assign imgClass = 'corporate--actualidad--list--item-image'> 
294																		<#assign urlParamConcat = imgUrl?contains("?")?then("&","?")> 
295																		${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', true, 
296																										'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"' 
297																										'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
298																																 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w,' +  
299																																 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 1024w,' + 
300																																 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 2048w"')} 
301																</#if> 
302 
303                                <#if (destacado.getDDMStructure().getStructureKey() == "VIDEO-STR")> 
304                                    ${corporate.img(cdn + '/o/corporate-theme/images/common/th-play2.png', true, 'class="corporate--actualidad--video-list--item--icon"', 'alt=""', 'width="60" height="60"')} 
305                                </#if> 
306                                <div class="corporate--actualidad--list--item-big-wrapper"> 
307                                    <a class="corporate--actualidad--list--item-ribbon" href="${ribbonPageUrl}" title="${articleRibbonText}">${articleRibbonText}</a> 
308                                    <span class="corporate--actualidad--list--item-date">${articleDate}</span> 
309                                    <a class="corporate--actualidad--list--item-link" href="${articleUrl}" title="${articleName}"> 
310                                        <h3 class="corporate--actualidad--list--item-big-title">${articleName}</h3> 
311                                    </a> 
312                                </div> 
313                            </figure> 
314                        </article> 
315 
316                    <#if destacado?counter == 3> 
317                        </div> 
318                    </#if> 
319 
320                </#if> 
321 
322                <#if (destacado?counter > 3) && (destacado?counter < 7)> 
323                    <#if destacado?counter == 4> 
324                        <div class="corporate--actualidad--list--col"> 
325                    </#if> 
326 
327                    <article class="corporate--actualidad--list--item-small"> 
328                        <figure class="corporate--actualidad--list--item-small-figure"> 
329 
330														<#if articleImage?has_content >														 
331																<#assign imgUrl = cdn + articleImage> 
332																<#assign imgWidth = '320'> 
333																<#assign imgTitle = articleName> 
334																<#assign imgAlt = articleName> 
335																<#assign imgClass = 'corporate--actualidad--list--item-image'> 
336																<#assign urlParamConcat = imgUrl?contains("?")?then("&","?")> 
337																${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', true, 
338																								'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"' 
339																								'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
340																														 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 640w,' +  
341																														 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 1024w,' + 
342																														 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 2048w"')} 
343														</#if> 
344 
345                            <#if (destacado.getDDMStructure().getStructureKey() == "VIDEO-STR")> 
346                                ${corporate.img(cdn + '/o/corporate-theme/images/common/th-play2.png', true, 'class="corporate--actualidad--video-list--item--icon"', 'alt=""', 'width="60" height="60"')} 
347                            </#if> 
348                        </figure> 
349                        <div class="corporate--actualidad--list--item-small-wrapper"> 
350                            <a class="corporate--actualidad--list--item-ribbon" href="${ribbonPageUrl}" title="${articleRibbonText}">${articleRibbonText}</a> 
351                            <span class="corporate--actualidad--list--item-date">${articleDate}</span> 
352 
353                            <a class="corporate--actualidad--list--item-link" href="${articleUrl}" title="${articleName}"> 
354                                <h3 class="corporate--actualidad--list--item-small-title">${articleName}</h3> 
355                            </a> 
356                        </div> 
357                    </article> 
358 
359                    <#if destacado?counter == 7> 
360                            </div> 
361                        </div> 
362                    </#if> 
363 
364                </#if> 
365 
366            </#list> 
367        </section> 
368    </#if> 
369    <!-- PINTAR MKTG-526:end --> 
370 
371 
372    <!-- PINTAR MKTG-527:init --> 
373    <#if itemsPosts?has_content> 
374        <section class="corporate--actualidad--software-list"> 
375            <div class="corporate--actualidad--software-list--container" data-gtm-block-name="Mecalux-insights" data-js="slider" data-js-type="tiny-slider" data-js-config='{"container": ".corporate--actualidad--software-list--slider", "loop": false, "navPosition": "bottom", "mouseDrag": "true", "items":1, "gutter":20, "controlsText": ["",""], "responsive": {"750": {"items":2},"1000":{"items":3},"1280": {"items":4}}}'> 
376 
377                <h3 class="corporate--actualidad--software-list--title"> 
378                    <@corporate.mlxlanguage key="mlx.news.automation-software" /> 
379                </h3> 
380 
381                <div class="corporate--actualidad--software-list--slider" data-gtm-block-name="Mecalux-insights"> 
382 
383                    <#list itemsPosts as post> 
384 
385                        <#assign postValues = mlxJournalHelperService.getStructureFieldValues(post, "${locale}") /> 
386 
387                            <#if post.getDDMStructure().getStructureKey() == "ARTICLE-STR" > 
388                                <#assign articleName = (postValues["article_name"]?string)!"" /> 
389                            <#else> 
390                                <#assign articleName = (postValues["name"]?string)!"" /> 
391                            </#if> 
392 
393                        <#assign articleDescription = (postValues["description"]?string)!"" /> 
394                        <#assign articleUrl =  mlxUrlUtilService.getUrlByJournalArticle(post,"${locale}", groupId)?string />  
395                        <#assign articleDate = dateUtil.getDate(post.getDisplayDate(), dateFormat, locale)  /> 
396        
397                        <#if (post.getDDMStructure().getStructureKey() == "VIDEO-STR")> 
398                            <#assign articleImage = (postValues["social_networks_image"])!"{}" /> 
399                        <#else> 
400                            <#assign articleImage = (postValues["list_image"])!"{}" /> 
401                        </#if> 
402                         
403                        <#if articleImage?has_content > 
404                            <#assign articleImage = articleImage?eval /> 
405                            <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImage.uuid, locale) /> 
406                        </#if> 
407 
408                        <article class="corporate--actualidad--software-list--item"> 
409                            <div class="corporate--actualidad--software-list--item-card"> 
410                                <figure class="corporate--actualidad--software-list--item-figure"> 
411 
412																		<#if articleImage?has_content >														 
413																				<#assign imgUrl = cdn + articleImage> 
414																				<#assign imgWidth = '320'> 
415																				<#assign imgTitle = articleName> 
416																				<#assign imgAlt = articleName> 
417																				<#assign imgClass = 'corporate--actualidad--software-list--item-image'> 
418																				<#assign urlParamConcat = imgUrl?contains("?")?then("&","?")> 
419																				${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', true, 
420																												'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"' 
421																												'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
422																																		 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 640w,' +  
423																																		 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 1024w,' + 
424																																		 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 2048w"')} 
425																	  </#if> 
426 
427                                    <#if (post.getDDMStructure().getStructureKey() == "VIDEO-STR")> 
428                                        ${corporate.img(cdn + '/o/corporate-theme/images/common/th-play2.png', true, 'class="corporate--actualidad--video-list--item--icon"', 'alt=""', 'width="60" height="60"')} 
429                                    </#if> 
430                                </figure> 
431                                <div class="corporate--actualidad--software-list--item-wrapper"> 
432                                    <!--span class="corporate--actualidad--software-list--item-date">${articleDate}</span--> <!-- MKTG-1229 --> 
433                                    <a class="corporate--actualidad--software-list--item-link" href="${articleUrl}" title="${articleName}">  
434                                        <h4 class="corporate--actualidad--software-list--item-heading">${articleName}</h4> 
435                                    </a> 
436                                </div> 
437                            </div> 
438                        </article> 
439 
440                    </#list> 
441 
442                </div> 
443            </div> 
444        </section>   
445    </#if>  
446 
447    <!-- PINTAR MKTG-527:end --> 
448 
449 
450    <!-- PINTAR MKTG-758:init --> 
451    <#if videoPosts?has_content > 
452     <section class="corporate--actualidad--video-list"> 
453        <div class="corporate--actualidad--software-list--container" data-js="slider" data-js-type="tiny-slider" data-js-config='{"container": ".corporate--actualidad--video-list--slider", "loop": false, "navPosition": "bottom", "mouseDrag": "true", "items":1, "gutter":20, "controlsText": ["",""], "responsive": {"750": {"items":2},"1000":{"items":3},"1280": {"items":5}}}'> 
454            <#assign warehouseVideosMasterId = 4175 /> 
455            <#assign warehouseVideosArticle = mlxMastersHelperService.getJournalArticleByMasterAndGroup(warehouseVideosMasterId, groupId) /> 
456            <#assign warehouseVideosUrl =  mlxUrlUtilService.getUrlByJournalArticle(warehouseVideosArticle,"${locale}", groupId)?string /> 
457 
458            <div class="corporate--actualidad--video-list--subtitle-wrapper"> 
459                <h3 class="corporate--actualidad--video-list--title"><@corporate.mlxlanguage key="mlx.news.multimedia" /></h3> 
460                <a class="corporate--actualidad--video-list--viewmore" href="${warehouseVideosUrl}" title='<@corporate.mlxlanguage key="mlx.video.list.see-more" />'><@corporate.mlxlanguage key="mlx.video.list.see-more" /></a> 
461            </div> 
462            <div class="corporate--actualidad--video-list--slider"> 
463                <#list videoPosts as curVideo> 
464                    <#assign articleValues = mlxJournalHelperService.getStructureFieldValues(curVideo, "${locale}") /> 
465                    <#assign articleName = (articleValues["name"]?string)!"" /> 
466                    <#assign articleUrl =  mlxUrlUtilService.getUrlByJournalArticle(curVideo,"${locale}", groupId)?string /> 
467                    <#assign articleImage = (articleValues["social_networks_image"])!"" /> 
468 
469                    <#if articleImage?has_content > 
470                        <#assign articleImage = articleImage?eval /> 
471                        <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImage.uuid, locale) /> 
472                    </#if> 
473 
474                    <div class="corporate--actualidad--video-list--item"> 
475                        <div class="corporate--actualidad--video-list--item-card"> 
476                            <a class="corporate--actualidad--video-list--item-link" href="${articleUrl}" title="${articleName}">  
477                                <figure class="corporate--actualidad--video-list--item-figure"> 
478                                    ${corporate.img(cdn + '/o/corporate-theme/images/common/th-play2.png', true, 'class="corporate--actualidad--video-list--item--icon"', 'alt=""', 'width="60" height="60"')} 
479 
480																		<#if articleImage?has_content >														 
481																				<#assign imgUrl = cdn + articleImage> 
482																				<#assign imgWidth = '320'> 
483																				<#assign imgTitle = articleName> 
484																				<#assign imgAlt = articleName> 
485																				<#assign imgClass = 'corporate--actualidad--video-list--item-image'> 
486																				<#assign urlParamConcat = imgUrl?contains("?")?then("&","?")> 
487																				${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', true, 
488																												'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"' 
489																												'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
490																																		 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 640w,' +  
491																																		 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 1024w,' + 
492																																		 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 2048w"')} 
493																		</#if> 
494																	 
495                                </figure> 
496                                <div class="corporate--actualidad--video-list--item-wrapper"> 
497                                    <h4 class="corporate--actualidad--video-list--item-heading">${articleName}</h4> 
498                                </div> 
499                            </a> 
500                        </div> 
501                    </div> 
502 
503                </#list> 
504            </div> 
505        </div> 
506    </section> 
507    </#if> 
508 
509    <!-- PINTAR MKTG-758:end --> 
510 
511</#if> 
512 
513 
514<#--HIDDEN CTA PARA STICKY--> 
515<#assign pageMasterId = 46017 /> 
516<#assign contactPage = (mlxMastersHelperService.getLayoutByMasterAndGroup(pageMasterId, groupId))!{}> 
517<#assign contactPageUrl = (contactPage.getFriendlyURL(locale))!""> 
518<#assign contactPageName = (contactPage.getName(locale))!"" /> 
519<a href="${contactPageUrl}?_from=NEWS" title="${contactPageName}" style="display:none" data-sticky-btn="true">${contactPageName}</a> 
Se ha producido un error al procesar la plantilla.
Java method "com.mecalux.util.service.impl.MlxUrlUtilServiceImpl.getUrlByJournalArticle(com.liferay.journal.model.JournalArticle, String, long)" threw an exception when invoked on com.mecalux.util.service.impl.MlxUrlUtilServiceImpl object "com.mecalux.util.service.impl.MlxUrlUtilServiceImpl@43669969"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign articleUrl = mlxUrlUtilServic...  [in template "20101#20128#LATEST-BEST-PRACTICE-MAGAZINE-TPL" at line 53, column 29]
----
1<#assign cdn = (mlxUrlUtilService.getCdn(groupId))!"" /> 
2 
3<#assign articleId=.vars["reserved-article-id"].data /> 
4<#assign globalGroupId=mlxConstants.getLongConstant("GroupIds","GLOBAL") /> 
5<#assign relatedArticles = mlxAssetHelperService.getRelatedArticlesByStructure(groupId, articleId, strKey) /> 
6 
7<div class="corporate--actualidad--best-practices"> 
8    <div class="corporate--actualidad--best-practices--container"> 
9        <h2 class="corporate--actualidad--best-practices--title"> 
10            ${title.getData()} 
11            <span class="corporate--actualidad--best-practices--issue">${Cta_Label.getData()}</span> 
12        </h2> 
13         
14        <div class="corporate--actualidad--best-practices--row"> 
15            <div class="corporate--actualidad--best-practices--cover"> 
16                 <a href="${Cta_URL.getData()}" title="${Cta_Label.getData()}"> 
17 
18                    <figure class="corporate--actualidad--best-practices--cover-figure"> 
19 
20												<#assign uuid = mlxUrlUtilService.getUuidFromLiferayUrl(image.getData())!"" /> 
21 
22												<#if uuid?has_content > 
23														<#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(uuid, globalGroupId) /> 
24														<#assign docUrl = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentUrl",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/> 
25														<#if docUrl == ''> 
26																<#assign imgUrl = image.getData() /> 
27														<#else> 
28																<#assign imgUrl = cdn + docUrl + "." + fileEntry.getVersion() + "." + fileEntry.getExtension() /> 
29														</#if> 
30 
31														<#assign imgWidth = '320'> 
32														<#assign imgTitle = title.getData()> 
33														<#assign imgAlt = title.getData()> 
34														<#assign imgClass = 'corporate--actualidad--best-practices--cover-image'> 
35														<#assign urlParamConcat = imgUrl?contains("?")?then("&","?")> 
36														${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', true, 
37																						'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"' 
38																						'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
39																												 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 640w,' +  
40																												 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 1024w,' + 
41																												 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 2048w"')} 
42												</#if> 
43 
44                    </figure> 
45                </a> 
46            </div> 
47            <#if relatedArticles?has_content> 
48                <div class="corporate--actualidad--best-practices--col"> 
49                    <#list relatedArticles as article> 
50 
51                        <#if article?counter < 7> 
52 
53                            <#assign articleUrl = mlxUrlUtilService.getUrlByJournalArticle(article,locale, groupId)?string /> 
54                            <#assign articleValues = mlxJournalHelperService.getStructureFieldValues(article, locale) /> 
55                            <#assign articleStructure = article.getDDMStructure().getStructureKey() /> 
56                            <#if articleStructure == "ARTICLE-STR"> 
57                                <#assign articleName = (articleValues["article_name"]?string)!"" /> 
58                            <#elseif articleStructure == "INTERVIEW-STR"> 
59                                <#assign articleName = (articleValues.hero["hero_title"]?string)!"" /> 
60                            <#else> 
61                                    <#assign articleName = (articleValues["name"]?string)!"" /> 
62                            </#if> 
63                            <div class="corporate--actualidad--best-practices--item"> 
64                                <a class="corporate--actualidad--best-practices--item-link" href="${articleUrl}" title="${articleName}"> 
65                                    <h4 class="corporate--actualidad--best-practices--item-heading">${articleName}</h4> 
66                                </a> 
67                            </div> 
68                        </#if>  
69 
70                    </#list>    
71 
72                    <#assign bestPracticesMasterId=58016 /> 
73                    <#assign bestPractices=(mlxMastersHelperService.getLayoutByMasterAndGroup(bestPracticesMasterId, 
74                        groupId))!{} /> 
75                    <#assign bestPracticesUrl=(bestPractices.getFriendlyURL())!"" /> 
76                    <div class="corporate--actualidad--best-practices--item-button"> 
77                        <a class="corporate--actualidad--best-practices--button" href="${bestPracticesUrl}" 
78                            title='<@corporate.mlxlanguage key="mlx.news.best-practices.cta"/>'><@corporate.mlxlanguage key="mlx.news.best-practices.cta"/></a> 
79                    </div> 
80 
81                </div> 
82            </#if> 
83 
84        </div> 
85     
86    </div> 
87</div> 
88</div>