Soluciones inteligentes de almacenaje

Aporte eficiencia a su almacén con una gestión inteligente del espacio

Contactar

Mecalux: experiencia e innovación para su almacén

Mecalux es una de las compañías líderes en tecnología intralogística a nivel mundial. Es puntera en automatización de almacenes y desarrollo de software. Sus estanterías metálicas son además sinónimo de calidad en la industria.
Nos avalan 55 años de experiencia, una decidida apuesta por la innovación y —lo más importante— la satisfacción de nuestros clientes. Sean cuales sean las características de su negocio, tenemos una solución de almacenaje para usted.
El MIT Center for Transportation & Logistics inaugura un nuevo laboratorio para investigar el potencial de la IA en la logística con el apoyo de Mecalux

Colaboración de investigación MIT-Mecalux

El Intelligent Logistics Systems Lab es una colaboración entre investigadores del MIT Center for Transportation & Logistics y expertos de Mecalux para desarrollar soluciones logísticas basadas en IA

Leer más
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> data.ClientCPs  [in template "20101#20128#HOMECP-CLIENTSSLIDER-TPL" at line 42, column 27]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign clientsCPsList = data.ClientC...  [in template "20101#20128#HOMECP-CLIENTSSLIDER-TPL" at line 42, column 1]
----
1<style>.lfr-pagination .lfr-pagination-buttons{margin-top:0!important;padding:0}@media (max-width:960px){.lfr-pagination{flex-direction:column-reverse}}</style> 
2 
3<#assign cdn = (mlxUrlUtilService.getCdn(groupId))!"" /> 
4<#assign globalGroupId = mlxConstants.getLongConstant("GroupIds","GLOBAL") /> 
5<#assign numElem = 18 /> 
6<#assign currentPage = 0 /> 
7<#assign prodId='' /> 
8<#assign catId='' /> 
9 
10<#-- Función para filtrar los elementos que tienen contenido en 'pcase' --> 
11<#function filterElementsWithPcase elements> 
12    <#assign filteredElements = []> 
13     
14    <#list elements as element> 
15        <#if element.pcase?has_content> 
16            <#assign filteredElements += [element]> 
17        </#if> 
18    </#list> 
19     
20    <#return filteredElements> 
21</#function> 
22 
23<#-- Función para obtener el número de semana del año actual --> 
24<#function getWeekOfYear> 
25    <#return .now?string("w")?number> 
26</#function> 
27 
28<#-- Función para obtener los tres elementos correspondientes a la semana actual --> 
29<#function getElementsForWeek elementList> 
30    <#assign semanaActual = getWeekOfYear()> 
31 
32    <#-- Calcular el índice inicial y final para obtener tres elementos --> 
33    <#assign startIndex = (semanaActual - 1) % (elementList?size - 2)> 
34    <#assign endIndex = startIndex + 2> 
35 
36    <#return elementList[startIndex..endIndex]> 
37</#function> 
38 
39<#-- Obtención de datos desde el servicio --> 
40<#assign data = mlxClientCP.getClientCPs(groupId, themeDisplay.getLanguageId(), prodId, catId, currentPage, numElem, true) /> 
41<#-- Se hace un ?replace para limpiar el json de los caracteres especiales (encoding) para que el ?eval no genere errores de Syntax error, se podria intentar probar con la version de freemarker (2.3.31) el ?eval_json https://freemarker.apache.org/docs/dgui_template_exp.html#dgui_template_exp_direct_string --> 
42<#assign clientsCPsList = data.ClientCPs?replace('\\u','\\x')?replace('<[^>]+>','','r')?replace('<\\/i>','')?replace('<i>','') /> 
43 
44<#if clientsCPsList?has_content> 
45		<div class="corporate--home--practical-cases"> 
46 
47        <div class="corporate--home--practical-cases--container" data-js="slider" data-js-type="tiny-slider" data-js-config='{"container": ".corporate--home--practical-cases--slider-cp", "navPosition": "bottom", "mouseDrag": true,"loop":false, "controls": false}' data-gtm-block-name="Case_Study"> 
48            <h2 class="corporate--home--practical-cases--title"><@corporate.mlxlanguage key="mlx.breadcrumb.practical-cases" /></h2> 
49            <div class="corporate--home--practical-cases--slider-cp" data-gtm-block-name="Case_Study"> 
50                 
51                <#assign itemIndex = 0 /> 
52								 
53								<#assign filteredClientsCPsList = filterElementsWithPcase(clientsCPsList?eval)> 
54 
55                <#list getElementsForWeek(filteredClientsCPsList) as clientCPs> 
56                    <#assign article = mlxAssetHelperService.fetchLatestApprovedArticle(groupId, clientCPs.pcase.articleId)!"" /> 
57                    <#assign articleValues = mlxJournalHelperService.getStructureFieldValues(article, "${locale}") /> 
58                    <#assign articleUrl = clientCPs.pcase.url!"" /> 
59                    <#assign articleName = clientCPs.pcase.name!"" /> 
60                    <#assign itemMasterName = articleName!"" /> 
61                    <#assign articleDescription = (articleValues["html_description"]?string)!"" /> 
62										<#assign articleImageUrl = clientCPs.pcase.list_image!"{}"  /> 
63                    <#assign clientName = clientCPs.name!"" /> 
64                     
65                    <#assign itemIndex = itemIndex + 1 /> 
66 
67                    <div class="corporate--home--practical-cases--item"> 
68                        <div class="corporate--home--practical-cases--info"> 
69                                                     
70                            <#if clientName?has_content> 
71                                <h3 class="corporate--home--practical-cases--item-title">${clientName}</h3> 
72                            </#if> 
73 
74                            <#if articleName?has_content> 
75                                <p class="corporate--home--practical-cases--item-subtitle">${articleName}</p> 
76                            </#if> 
77 
78                            <#if articleDescription?has_content> 
79                                <p class="corporate--home--practical-cases--item-description">${articleDescription?truncate(350, '...')} 
80                                    <a href="${articleUrl}" title="${clientName}" class="corporate--home--practical-cases--item-link" data-gtm-event="click" data-gtm-event-click-category="[pageMaster]_Case_Study" data-gtm-event-label="${itemIndex}_/Case-study/Detail/${clientName}/${itemMasterName}"> 
81																				<@corporate.mlxlanguage key="mlx.search.article.readmore" /> 
82																		</a> 
83                                </p> 
84                            </#if> 
85 
86                        </div> 
87 
88                        <#assign articleImageContent = articleValues["list_imageFieldSet"]!"{}"  /> 
89                        <#assign articleImageContent = articleImageContent.list_image!""  /> 
90                        <#if articleImageContent?has_content> 
91                            <#assign articleImage = articleImageContent /> 
92                            <#if articleImage?has_content> 
93 
94                                <#assign imgWidth = '640'> 
95                                <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(articleImage.uuid, globalGroupId) /> 
96                                <#assign articleImageUrl = (mlxDocumentsHelperService.getExpandoDocumentLocalizedValue("mlxDocumentUrl",fileEntry.getFileVersion().getFileVersionId(), locale, true))!""/> 
97                                <#assign articleImageUrl = mlxUrlUtilService.getLRUrl(fileEntry) /> 
98                                <#assign urlParamConcat = articleImageUrl?contains("?")?then("&","?")> 
99 
100                                <div class="corporate--home--practical-cases--thumbnail"> 
101                                 
102                                    <#assign articleVideoContent = (articleValues["video_galleryFieldSet"])!"" /> 
103 
104                                    <#if articleVideoContent?first.video_galleryFieldSetFieldSet?has_content> 
105 
106                                        <#assign articleVideoJSON = articleVideoContent?first.video_galleryFieldSetFieldSet.video_gallery_fileFieldSet?first.video_gallery_file /> 
107                                        <#assign articleVideoUUID = articleVideoJSON.getString("uuid")!"" /> 
108                                        <#if articleVideoUUID != ""> 
109                                            <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(articleVideoUUID, globalGroupId) /> 
110                                            <#assign articleVideoUrl = mlxUrlUtilService.getLRUrl(fileEntry) /> 
111                                            <#assign youtubeEmbeddedCode = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxYoutubeEmbeddedCode",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/> 
112                                                     
113                                            <#if youtubeEmbeddedCode?has_content> 
114                                                    <#assign htmlModalAttributes='data-fancybox="video-gallery-${clientCPs?index}" data-type="iframe" data-src="https://www.youtube.com/embed${youtubeEmbeddedCode}" data-caption="${articleName}"' /> 
115                                            <#else> 
116                                                    <#assign htmlModalAttributes='data-fancybox="video-gallery-${clientCPs?index}" data-type="html5video" data-src="${articleVideoUrl}" data-thumb="${articleImageUrl}" data-caption="${articleName}"' /> 
117                                            </#if> 
118 
119                                            <a href="#" class="corporate--home--practical-cases--video-container" data-has-modal="true" ${htmlModalAttributes} data-gtm-event="modal" data-gtm-event-label="${articleImageUrl}"> 
120																								<figure class="corporate--home--practical-cases--figure"> 
121                                                <div class="corporate--home--practical-cases--container-icon"> 
122                                                		<#assign images_folder = cdn + "/o/corporate-theme/images" /> 
123                                                    		${corporate.img(images_folder + '/common/th-play2.png', false,'data-role="play-btn" class="corporate--home--practical-cases--video-icon" alt="play"')} 
124                                                </div> 
125                                                ${corporate.img(articleImageUrl + urlParamConcat + 'imwidth="'+ imgWidth + '"', true,  
126                                                            'srcset="' + articleImageUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
127                                                            cdn + articleImageUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w" alt="' + clientName + '"', 'title="' + clientName + '"', 'class="corporate--home--practical-cases--item-image corporate--home--practical-cases--item-image-youtube"')}                                                    </figure>   
128                                            </a> 
129                                        <#else>		 
130                                            <figure class="corporate--home--practical-cases--figure"> 
131                                            		${corporate.img(articleImageUrl + urlParamConcat + 'imwidth="'+ imgWidth + '"', true,  
132                                            								'srcset="' + articleImageUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
133                                                            articleImageUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w" alt="' + clientName + '"', 'title="' + clientName + '"', 'class="corporate--home--practical-cases--item-image"')}                                                 
134																						</figure> 
135                                        </#if> 
136                                    <#else> 
137 
138                                        <figure class="corporate--home--practical-cases--figure"> 
139                                            ${corporate.img(articleImageUrl + urlParamConcat + 'imwidth="'+ imgWidth + '"', true, 
140                                            								'srcset="' + articleImageUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +  
141                                                            articleImageUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w" alt="' + clientName + '"', 'title="' + clientName + '"', 'class="corporate--home--practical-cases--item-image"')} 
142																				</figure> 
143                                    </#if> 
144                                </div> 
145                            </#if> 
146                        </#if> 
147 
148                    </div> 
149 
150                </#list> 
151            </div> 
152                <#assign pcasesMasterId=56006 /> <#-- referencias--> 
153                <#assign pcasesLayout=(mlxMastersHelperService.getLayoutByMasterAndGroup(pcasesMasterId,scopeGroupId)!"") /> 
154                <#if pcasesLayout == "" > 
155                    <#assign pcasesMasterId=64015 /> <#-- clientes--> 
156                    <#assign pcasesLayout=(mlxMastersHelperService.getLayoutByMasterAndGroup(pcasesMasterId,scopeGroupId)!"") /> 
157                </#if> 
158                <#assign pcasesUrl = pcasesLayout.getFriendlyURL() /> 
159            		<a href="${pcasesUrl}" title='<@corporate.mlxlanguage key="mlx.practical-case.show-more" />' class="corporate--home--practical-cases--viewmore" data-gtm-event="click" data-gtm-event-click-category="[pageMaster]_Case_Study" data-gtm-event-label="/Case-study"> 
160										<@corporate.mlxlanguage key="mlx.practical-case.show-more" /> 
161								</a> 
162        </div> 
163    </div> 
164</#if> 

PRODUCTO DESTACADO

Robots móviles autónomos (AMR) Robots móviles autónomos (AMR)

ROBOTS MÓVILES AUTÓNOMOS (AMR)

La solución robótica que flexibiliza el transporte interno de mercancías

Automatice el flujo interno de cargas con la innovadora gama de AMR de Mecalux. Dinamice múltiples operaciones de intralogística y potencie la productividad del almacén con vehículos inteligentes diseñados para trabajar con absoluta autonomía.

Conozca los AMR

MECALUX EN CIFRAS

  • 55 años

    55 años

    de experiencia

  • red comercial

    +70 países

    con red comercial

  • 11 centros productivos

    11 centros

    productivos

  • 7 centros I+D

    7 centros I+D

    de desarrollo tecnológico

Mecalux News

Ir a Mecalux News

ESTAMOS DONDE ESTÁ SU ALMACÉN

Tenemos oficinas en 23 países

VER TODAS NUESTRAS OFICINAS COMERCIALES
TURQUÍAOficina en Estambul
ESLOVENIAOficina en Brnik
RUMANÍAOficina en Bucarest
CROACIA
POLONIAOficinas en Gliwice, Gdansk, Cracovia, Poznan, Varsovia y Breslavia
ESLOVAQUIAOficina en Bratislava
REPÚBLICA CHECAOficina en Praga
ITALIAOficinas en Milán, Padua, Roma y Turín
ALEMANIAOficina en Dormagen
PAÍSES BAJOSOficina en Amsterdam
BÉLGICAOficina en Bruselas
FRANCIAOficinas en París, Aix En Provence, Burdeos, Lille, Lyon, Nantes - Ruan, Toulouse y Estrasburgo
UKOficina en Birmingham
ESPAÑAOficinas en Barcelona, Alicante, Bilbao, Córdoba, Gijón, La Coruña, Las Palmas, Madrid, Murcia, Palencia, Palma De Mallorca, Pamplona, San Sebastián, Sevilla, Tenerife, Valencia, Vitoria y Zaragoza
PORTUGALOficinas en Lisboa y Oporto
BRASILOficina en Hortolândia
URUGUAYOficina en Canelones
ARGENTINAOficina en Buenos Aires
COLOMBIAOficinas en Bogotá y Cali
CHILEOficina en Santiago de Chile
MÉXICOOficinas en Tijuana, Guadalajara, Hermosillo, Matamoros, Mérida, Mexico DF, Puebla y Monterrey
USAOficinas en Chicago, Dallas, Pontiac, San Diego y Sumter
CANADÁOficina en Toronto
ESTAMOS DONDE ESTÁ SU ALMACÉN

Algunos de nuestros clientes

background contact

CONTACTE CON NOSOTROS

    Llámenos al

  • $titlePhone 800 03 00183
  • Estamos en

  • $titleLocation
    • TIJUANA

      Blvd. Bellas Artes 9001 Ciudad Industrial Nueva Tijuana - 22444, Tijuana, B.C.

    • GUADALAJARA

      Brida no. 28 - Col. Santa Cruz del Valle 45615, San Pedro Tlaquepaque

    • HERMOSILLO

      Av. de las Flores 21 - Esq. Laurel - Col. Libertad Hermosillo 83137, Sonora

    • MATAMOROS

      Las Rusias 2700 - Parque Industrial del Norte 87316, Matamoros

    • Todas nuestras ubicaciones

Déjenos sus datos y uno de nuestros expertos le atenderá

He leído y acepto las condiciones de la política de privacidad de datos.

Sí, acepto recibir publicidad de los productos y/o servicios de almacenamiento, sus componentes y bienes relacionados que ofrece Mecalux. (Opcional)