Casos prácticos
Se ha producido un error al procesar la plantilla.
No compatible overloaded variation was found; declared parameter types and argument value types mismatch. The FTL type of the argument values were: extended_hash+string (com.liferay.portal.json.JSONObjectImpl wrapped into f.e.b.StringModel). The Java type of the argument values were: com.liferay.portal.json.JSONObjectImpl. The matching overload was searched among these members: com.liferay.portal.json.JSONFactoryImpl.createJSONObject(String), com.liferay.portal.json.JSONFactoryImpl.createJSONObject(Map), com.liferay.portal.json.JSONFactoryImpl.createJSONObject() ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign articleImageContent = jsonFac... [in template "20101#20128#3282403" at line 36, column 33] ----
1<#if entries?has_content>
2
3 <#assign cdn = (mlxUrlUtilService.getCdn(groupId))!"" />
4
5 <#assign globalGroupId = mlxConstants.getLongConstant("GroupIds","GLOBAL")/>
6 <div class="corporate--cases--carouselv4">
7 <div class="corporate--cases--carouselv4--top--container" data-gtm-block-name="Case-study" data-js="slider" data-js-type="tiny-slider" data-js-config='{"container": ".corporate--cases--carouselv4--top--container", "autoplay":true, "autoplayButtonOutput":false, "mouseDrag":true, "controls":false, "loop":false, "navContainer": ".corporate--cases--carouselv4--bottom--container"}'>
8 <#list entries as curEntrys>
9 <#assign asset = curEntrys.getAssetRenderer() />
10 <#assign fields = asset.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues() />
11 <#assign articles = mlxAssetHelperService.getJournalArticleByEntry(curEntrys)/>
12
13 <#assign articleValues = mlxJournalHelperService.getStructureFieldValues(articles, "${locale}") />
14
15 <#assign articlesUrl = mlxUrlUtilService.getUrlByJournalArticle(articles, "${locale}", groupId)?string />
16 <#assign articleNames = (articleValues["description"]?string)!"" />
17 <#assign articleVideoContent = mlxJournalHelperService.getStructureFieldValue(articles, "video_gallery_file", "${locale}")![] />
18 <#assign articleDescription = (articleValues["html_description"]?string)!"" />
19 <#assign clientStrKey = "CLIENT-STR"/>
20 <#assign articleClient = (mlxAssetHelperService.getFirstRelatedArticle(groupId, articles.articleId, clientStrKey))!"" />
21 <#assign globalGroupId = mlxConstants.getLongConstant("GroupIds","GLOBAL")/>
22 <#assign articleUrl = mlxUrlUtilService.getUrlByJournalArticle(articles, "${locale}", groupId)?string />
23 <#if articleClient != "">
24 <#assign clientName = mlxJournalHelperService.getStructureFieldValue(articleClient, "name", "${locale}")?string />
25 <#else>
26 <#assign clientName = articleNames>
27 </#if>
28 <#if articleNames?has_content>
29 <article class="item corporate--cases--carouselv4--top--item">
30 <figure class="corporate--cases--carouselv4--top--figure">
31
32 <#list fields as field>
33 <#if field.getName()=="name">
34 <#assign articleImageContent = (articleValues["standout_image"])!"{}" />
35 <#if articleImageContent != "">
36 <#assign articleImageContent = jsonFactoryUtil.createJSONObject(articleImageContent) />
37 <#assign articleImage = mlxDocumentsHelperService.getDocumentUrlFromUUID(articleImageContent.uuid, "${locale}") />
38 ${corporate.img(cdn+articleImage, false, 'class="corporate--cases--carouselv4--top--image"')}
39 </#if>
40 </#if>
41 </#list>
42 </figure>
43 <div class='corporate--cases--carouselv4--top--content'>
44 <h3 class="corporate--cases--carouselv4--top--title">${clientName}</h3>
45 <p class="corporate--cases--carouselv4--top--description">
46 <#if articleNames?length < 263>
47 ${articleNames}
48 <#else>
49 ${articleNames?substring(0,263)}...
50 </#if>
51 </p>
52 <a href="${articleUrl}" title="" class="corporate--cases--carouselv4--top--cta"><@corporate.mlxlanguage key="mlx.client.see-practical-case" /></a>
53 </div>
54 </article>
55 </#if>
56 </#list>
57 </div>
58
59 <div class="corporate--cases--carouselv4--bottom--container" data-js="slider" data-js-type="tiny-slider" data-js-config='{"container": ".corporate--cases--carouselv4--bottom--container", "autoplay":false, "autoplayButtonOutput":false, "mouseDrag":true, "controls":false, "nav":false, "loop":false, "items":3}'>
60 <#list entries as curEntrys>
61 <#assign article = mlxAssetHelperService.getJournalArticleByEntry(curEntrys) />
62 <#assign WarticleClient = (mlxAssetHelperService.getFirstRelatedArticle(groupId, article.articleId, clientStrKey))!"" />
63 <div class="item corporate--cases--carouselv4--bottom--item">
64 <div class="content corporate--cases--carouselv4--bottom--content">
65 <#if WarticleClient != "">
66 <#assign WarticleClientValues = mlxJournalHelperService.getStructureFieldValues(WarticleClient, "${locale}") />
67 <#assign Wnames = (WarticleClientValues["name"]?string)!"" />
68 <div class="content corporate--cases--carouselv4--bottom--title">${Wnames}</div>
69
70 </#if>
71 </div>
72 <#if WarticleClient != "">
73 <#assign clientLogoContent = (WarticleClientValues["logo"])!"{}" />
74
75 <#if clientLogoContent?has_content>
76 <#assign clientLogoContent = clientLogoContent?replace('\\u','') />
77 <#assign clientLogo = clientLogoContent?eval />
78 </#if>
79
80 <#assign clientName = (WarticleClientValues["name"]?string)!"" />
81
82 <#if clientLogo?has_content>
83 <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(clientLogo.uuid, globalGroupId) />
84 <#assign clientLogoUrl = mlxDocumentsHelperService.getDocumentUrlFromUUID(clientLogo.uuid, "${locale}") />
85 <#assign clientLogoAlt = mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentTitle",fileEntry.getFileVersion().getFileVersionId()).getString(locale)!""/>
86
87 <#if clientLogoAlt == "">
88 <#assign clientLogoAlt = clientName />
89 </#if>
90
91 <figure class="corporate--cases--carouselv4--bottom--figure">
92 ${corporate.img(cdn+clientLogoUrl, false, 'alt="' + clientLogoAlt + '"', 'title="' + clientLogoAlt + '"', 'class="corporate--cases--carouselv4--bottom--image"')}
93 </figure>
94 </#if>
95 </#if>
96 </div>
97 </#list>
98 </div>
99 </div>
100
101</#if>
Algunos de nuestros casos prácticos
Espace des Marques
Bodega omnicanal con 70.000 referencias
Comercio electrónicoFinieco
Gestión automática de 1,5 millones de bolsas de papel diarias
PackagingGaviota
La solución perfecta para almacenar perfiles de gran longitud
Decoración y hogarGlobal Freaks
Solución integral para la bodega e-commerce de Global Freaks
Comercio electrónicoGroupe Bert
Groupe Bert: la misma capacidad de almacenamiento en un 73% menos de superficie
Transporte y operadores logísticosIMP PUMPS
Trazabilidad en dos bodegas digitales
Maquinaria y componentesIndustrias Yuk
Industrias Yuk: centralización logística, cinco bodegas en una con miles de referencias
Maquinaria y componentesIntersurgical
La logística de Intersurgical respira trazabilidad y seguridad
SanidadIXOS cealco
La central de compras IXOS cealco digitaliza su logística para prestar un servicio ágil
DistribuciónKontiki
Kontiki perfecciona el control del stock y el picking en su bodega
Ocio y entretenimientoLuca-cuccolini
El fabricante de botones Luca Cuccolini instala una bodega automatizada de cajas
Textil y complementosMaison François Cholat
Trazabilidad y control de los productos para trabajar el campo de Maison François Cholat
Agricultura, ganadería y pescaManna Foods
Manna Foods: máxima capacidad en un mínimo espacio
Alimentación y bebidasNatura Bissé
Natura Bissé: una bodega automatizada que embellece la logística
Cosmética y cuidado personalNEXECOM
Revolución logística para la venta ‘online’
Comercio electrónicoPacomartinez
Logística en expansión para una empresa de ‘retail’ líder
Textil y complementosPuccini
Puccini: mezzanine con estanterías livianas
Textil y complementosComercial Samaniego
Samaniego actualiza Easy WMS a una versión Enterprise
MascotasSelvafil
Selvafil moderniza y aprovecha todo el espacio de su bodega
Textil y complementosSportisimo
Sportisimo: bodega optimizada con estanterías selectivas y livianas
DeporteSurDiscount
Easy WMS multiplica por ocho el número de pedidos ‘online’
Comercio electrónicoSurplus Motos
Surplus Motos: la automatización acelera el crecimiento
Automotor y recambiosTAL
TAL: una bodega automatizada que brilla con luz propia
Electricidad y electrónicaU10
U10 estrena una nueva bodega para su marca Homea en Erstein (Francia)
Decoración y hogarViñas Familia Gil
Viñas Familia Gil: logística controlada para un buen vino
Alimentación y bebidasWeddeling
Weddeling aprovecha al máximo el espacio de su bodega en Alemania
Transporte y operadores logísticosMadel
Madel digitaliza su bodega de equipos de control de aire
Maquinaria y componentesGenta S.n.c.
Genta Lodovico srl: seis cámaras optimizadas y refrigeradas
Transporte y operadores logísticosGibon
El e-commerce de moda Gibon digitaliza su bodega en Eslovenia
Textil y complementosDufry
Dufry: acceso directo y almacenamiento masivo de 30.000 referencias
DistribuciónKiwi Greensun
Kiwi Greensun: el punto de maduración perfecto en una bodega refrigerada
Alimentación y bebidasMephisto
Paso firme hacia la omnicanalidad automatizada
Textil y complementosStartévo
Soluciones de almacenamiento para formar a futuros profesionales
CapacitaciónYamazen
Trazabilidad que optimiza la cadena de suministro
Maquinaria y componentesBeself Brands
Software de gestión que impulsa el e-commerce
Comercio electrónicoFIC
FIC: el 60% de las referencias almacenadas en un 5% de la superficie
Cerámica y construcciónIncarlopsa
Logística a bajas temperaturas: solución integral en seis bodegas
Alimentación y bebidasIntersurgical
Intersurgical: oxígeno para la logística de un fabricante de productos médicos
SanidadUTE
Servicio exprés con un software de última generación
Transporte y operadores logísticosCosta Concentrados Levantinos
Costa Concentrados Levantinos: tecnología que refresca la cadena de suministro
Alimentación y bebidasMotores
Motores: soluciones de picking para piezas de recambio de coches
Automotor y recambiosGroupe LORCA
Groupe LORCA: mismas referencias en un 80% menos de superficie
Agricultura, ganadería y pescaMotos Bordoy
Motos Bordoy: una logística a todo gas
Automotor y recambiosHipanema
Hipanema: el WMS a la última moda
Textil y complementosVST
VST: dos sistemas versátiles con los que preparar 200 pedidos diarios
Ferretería y suministro industrialCitres
Citres: estanterías sismorresistentes, agilidad y seguridad de la mercancía
Alimentación y bebidasSal Vesta Iberia
Bodega digital: información y agilidad
QuímicoElektro3
Elektro3: más de 14.000 referencias en una bodega en plena expansión
Ferretería y suministro industrialNormagrup
Normagrup: la automatización ilumina a la logística
Electricidad y electrónica
— 50 Resultados por página