Case studies
An error occurred while processing the template.
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>
Some of our case studies
Vitakraft
Vitakraft Italy overhauls its pet food warehouse
Pet careCafés El Magnífico
Cafés El Magnífico invests in product traceability with Easy WMS
Food & beverageGeneral Óptica
General Óptica installs an omnichannel warehouse with 4,000 daily orders
Textiles & fashion accessoriesGrupo Clazamar
Grupo Clazamar automates internal transport of frozen products
Food & beverageKonya Şeker
Konya Şeker installs an automated warehouse in a seismic region
Food & beverageModerna Products
Moderna Products automates the storage of plastic pet supplies
Pet careHaricaman
Haricaman modernises flour storage at its plant in Toledo, Spain
Food & beverageEridania
Sugar and sweetener distributor Eridania boosts capacity by 180%
Food & beverageJim Sports
Jim Sports automates and digitalises its sporting goods warehouse in Palas de Rei, Spain
SportsSinclair Pharma
Sinclair Pharma: Easy WMS manages warehouses in Spain and Bulgaria simultaneously
Machinery & componentsCovenant Logistics
Covenant Logistics installs a pallet racking system in Atlanta
Transport & logistics providersAlpargatas
Footwear company Alpargatas equips 2 facilities in Brazil with Mecalux solutions
Textiles & fashion accessoriesClinical Nutrition
Clinical Nutrition, a nutrition and supplements leader, digitalises logistics management
PharmaceuticalSumSol
SumSol manages 3,000 SKUs across 2 warehouses
EnergyWallbox
Wallbox equips its EV charger plant in Barcelona
Automotive & spare partsSteklarna Rogaška
Steklarna Rogaška transforms its 4 high-end crystalware facilities
Furniture & decorPatatas Meléndez
Patatas Meléndez modernises its fresh potato warehouse in Medina del Campo
Food & beverageEnvases Group
Envases Group automates its facility for tinplate lids from production
PackagingMedline
Medline opens warehouse in Piacenza (Italy) for medical products
HealthcareIRIS
IRIS optimises the operations of its IT equipment warehouse with Easy WMS
Textiles & fashion accessoriesDistrimotos e Integrando
Distrimotos and Integrando automate their shared warehouses with Easy WMS
Automotive & spare partsAbraxas
Abraxas maximises storage capacity for efficient document management
Record & archive managementTB Group
TB Group optimises its warehouse for protective gloves, safety shoes and workwear
Textiles & fashion accessoriesFalk Toys
Falk Toys optimises storage with automated internal transport solutions
PlasticsMvK Logistics
MvK Logistics (3PL): remote digitalisation for real-time control
Transport & logistics providersMegafin
Megafin (3PL) digitalises one of Colombia’s largest warehouses with Easy WMS
Food & beverageInnoaesthetics
Innoaesthetics boosts its growth with a digitalised logistics strategy
Cosmetics & personal careLa Source
La Source digitalises its warehouse for natural dietary products with Easy WMS
Cosmetics & personal careJolly Softair
Integrated logistics solution for airsoft e-tailer Jolly Softair
E-commerceRabbit Hole Distillery
Rabbit Hole Distillery: high-density warehouse for bourbon whiskey barrels
Food & beverageSpare
Car-wash product specialist Spare optimises its operations with Easy WMS
Machinery & componentsUnipro Group
Two digital warehouses for DIY company Unipro Group
Electricity & ElectronicsRouje
The fashion brand Rouje boosts productivity in its Paris warehouse
Textiles & fashion accessoriesMEQUISA
MEQUISA automates the storage of small items
Furniture & decorNippon Paint
Automated warehouse with Nippon Paint’s automotive paint
ChemicalsZacaris
Zacaris optimises its footwear warehouse with digitalisation
E-commercePinturas Lepanto
Pinturas Lepanto digitalises its logistics operations to manage over 2,500 SKUs
ChemicalsPanificadora de Alcalá
Panificadora de Alcalá automates logistics processes to make over 1 M product units a day
Food & beverageCongelados de Navarra
Large-scale cold-chain logistics automation
Food & beverageManitou Group
Manitou Group automates its spare parts warehouse
Automotive & spare partsMedis-M
Digital control for demanding healthcare logistics operations
HealthcareIKEA Components
IKEA Components automates its warehouse in Malacky without disrupting operations
Furniture & decorGioseppo
Gioseppo's shoe warehouse: 1.6 million shoes and 3,500 orders a day
Textiles & fashion accessoriesElectrolux
Electrolux manages household appliances with Mecalux’s Easy WMS software
Electricity & ElectronicsCapacity
Multiple solutions to expand Capacity's storage capacity
Transport & logistics providersPedrosa
Pedrosa monitors its industrial hygiene products with Easy WMS
ChemicalsEsnelat
Esnelat automates its logistics operations with two AS/RS for milk products
Food & beverageICF
Screw and fastener distributor ICF revamps its logistics operations
Hardware & industrial suppliesETESA
ETESA digitises its warehouse management with Mecalux's Easy WMS
Machinery & components
— 50 Items per Page