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
Super Nosso
El depósito del supermercado ‘online’ Super Nosso en Brasil
Alimentación y bebidasINCASA
INCASA incrementa la capacidad de almacenaje de su depósito de detergentes
QuímicoResource Optimization and Innovation (ROi)
Un depósito para gestionar la cadena de suministro de productos sanitarios
FarmacéuticoSerfrial
El depósito de congelados de Serfrial con una operativa eficiente
Transporte y operadores logísticosMundo Helado
Los helados Grido renuevan su centro logístico en Córdoba (Argentina)
Transporte y operadores logísticosFrío Dock S.A.
El depósito de frío de Frío Dock en Tortuguitas (Argentina)
Transporte y operadores logísticosDidactic
El sistema compacto Pallet Shuttle multiplica la eficiencia en el suministro de productos sanitarios
Médico y hospitalarioRenfe
Mecalux desarrolla para Renfe un depósito tipo que se adapta a todos sus centros de mantenimiento
Transporte y operadores logísticosTrivantage
Una solución especial de racks selectivos resuelve el almacenaje y manipulación de rollos de tela
Textil y complementosBajofrío
Dieciséis racks móviles Movirack rentabilizan el nuevo depósito frigorífico de Bajofrío
Alimentación y bebidasSpartoo
Picking con transportadores para gestionar la venta online de 10.000 pares de zapatos al día
E-commerceAbafoods
La combinación de cinco sistemas de almacenaje impulsa la productividad de un fabricante de bebidas
Alimentación y bebidasMexicana de Industrias y Marcas (MIYM)
MIYM consigue una perfecta rotación de los productos y gran capacidad con racks dinámicos
Alimentación y bebidasE-commerce material deportivo
Empresa pionera en e-commerce, instala un circuito de transportadores, para agilizar sus pedidos
E-commerceBracchi
El operador logístico Bracchi optimiza la organización de su nuevo depósito en Alemania
Transporte y operadores logísticosIceport - Portonave
Iceport, empresa logística, gestiona su depósito con el software Easy WMS de Mecalux
Transporte y operadores logísticosIndustrias Cosmic
La unión de sistemas de almacenaje y de picking optimiza el centro logístico de Industrias Cosmic
Decoración y hogarDelaviuda
Delaviuda consigue una capacidad para 22.000 pallets en 2.290 m² en su nuevo depósito automático de 42 metros de altura
Alimentación y bebidasCromology Italia
Mecalux ha suministrado los sistemas de almacenaje que equipan las distintas áreas, de Cromology
QuímicoDacsa
Racks dinámicos con 141 canales de almacenaje para gestionar más de 1.000 toneladas de arroz
Alimentación y bebidasMathis Brothers
Mathis Brothers: un referente en decoración de Oklahoma
Decoración y hogarSchneider-Electric
Cómo lograr el equilibrio idóneo entre la agilidad en el picking y la capacidad de almacenaje
OtrosDiager
Diager fabricante de herramientas logra un alto rendimiento con un depósito automático miniload
Ferreteria y suministro industrialSedis Logistics
¿Cómo organizar la mercadería en el depósito en función de su rotación y volumen?
Transporte y operadores logísticosCepsa
Depósito autoportante automático, optimiza la logística de lubricantes de Cepsa
QuímicoGranada La Palma
Dos nuevos depósitos para la cooperativa Granada La Palma
Alimentación y bebidasSanta-Trans
El operador logístico ha elegido Pallet Shuttle y racks, para multiplicar su depósito
Transporte y operadores logísticosUnidroco
Depósito automático para cajas miniload, para un mayorista líder de droguería y perfumería
Comercio mayorista y distribuciónWOK
Depósito autoportante automático con capacidad para almacenar más de 6.300 pallets
Papel y derivadosSAGA
Depósito sectorizado para más de 42.000 pallets y una zona de picking para la empresa SAGA
Transporte y operadores logísticosVaillant
Vaillant reorganiza la operativa de su depósito para respaldar la creciente demanda de sus productos
Cerámica y construcciónHuhtamaki Foodservice Poland Sp. z o.o.
Cómo agilizar la preparación de pedidos mediante racks dinámicos con 178 canales de rodillos
Papel y derivadosAs-healthcare
Optimizar la preparación de los pedidos para aumentar el rendimiento del depósito
Médico y hospitalarioMalfatti-tacchini
Malfatti & Tacchini impulsa la velocidad en el picking en su nuevo centro logístico
Ferreteria y suministro industrialAlinatur
Fabricante de alimentos secos para mascotas, optimiza la rotación de productos con Pallet Shuttle
MascotasCartolux-Thiers
Racks móviles y selectivos para el almacenamiento de productos terminados de Cartolux-Thiers
PlásticoMarvimundo
¿Cómo conseguir capacidad para 1.000 pallets más en la misma superficie de almacenaje?
QuímicoSLVA (Société Laitière des Volcans d'Auvergne)
Pallet Shuttle para almacenar más de 7400 pallets, para el fabricante de lácteo SLVA
Alimentación y bebidasTrasgo
Mecalux proyecta, el centro de distribución, opta por racks selectivos de Mecalux
Transporte y operadores logísticosUNITED CAPS
Con Pallet Shuttle el depósito de UNITED CAPS en Luxemburgo, aprovecha mejor su espacio
PlásticoCofan
Mayor y agilidad en la preparación de pedidos de venta ‘online’ de suministros industriales
Ferreteria y suministro industrialAmagosa
Empresa especializada en la distribución de bebidas, aumenta la capacidad de almacenaje y picking
Alimentación y bebidasCarreras Grupo Logístico
Carreras Grupo amplía su capacidad en 48.000 pallets y agiliza el picking con racks selectivos
Transporte y operadores logísticosCogeferm
Múltiples soluciones para el almacenaje y picking de cajas y pallets de artículos de cerrajería
Ferreteria y suministro industrialDomaines-paul-mas
Domaines Paul Mas, reforma su depósito que mejorará las condiciones de almacenaje y conservación
Alimentación y bebidasGrupo Siro
Grupo Siro ha multiplicado su capacidad y productividad con un depósito automático autoportante
Alimentación y bebidasBem Brasil
Un depósito inteligente para el fabricante de papas prefritas congelada Bem Brasil
Alimentación y bebidasSokpol
Un gran depósito para los jugos de Sokpol en Polonia
Alimentación y bebidasAceites Toledo
Un depósito de botellas con el sistema Pallet Shuttle semiautomático
Alimentación y bebidas
— 50 Resultados por página