AIT Apparel CO Ltd
The following has evaluated to null or missing:
==> customTitle  [in template "20098#20124#FABRICA_TEMPLATE" at line 12, column 31]
----
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: ${customTitle.getData()}  [in template "20098#20124#FABRICA_TEMPLATE" at line 12, column 29]
----
	1<#assign  
				2	title = htmlUtil.escape(.vars['reserved-article-title'].data) 
				3	articleId = htmlUtil.escape(.vars['reserved-article-id'].data) 
				4	localizacion = _webContentsUtil.getCategoryFromVocabulary(groupId, articleId, 'localizacion') 
				5/> 
				6<div class="container-notFluid-mg"> 
				7<div class="container-mg"> 
				8<div class="prensa-details spacer"> 
				9	<div class="titulo-pressrom-detalle"> 
				10		<span class="titXL">${languageUtil.get(locale,"factories")}</span> 
				11	</div> 
				12	<h1 class="titXXXL">${customTitle.getData()}</h1> 
				13	<div class="fabrica-details__image"> 
				14		<#if validator.isNotNull(list.mainImages.mainImgExtended.getData()) > 
				15			<@getImage img=list.mainImages.mainImgExtended classes="w-100 d-none d-lg-block d-xl-block" /> 
				16		<#elseif validator.isNotNull(list.mainImages.mainImgDesktop.getData()) > 
				17			<@getImage img=list.mainImages.mainImgDesktop classes="w-100 d-none d-lg-block d-xl-block" /> 
				18		</#if> 
				19		<#if validator.isNotNull(list.mainImages.mainImgResponsive.getData()) > 
				20			<@getImage img=list.mainImages.mainImgResponsive classes="w-100 d-lg-none d-xl-none" /> 
				21		</#if> 
				22	</div> 
				23	<div class="fabrica-details__others"> 
				24		<div class="fabrica-details__others__first"></div> 
				25		<div class="fabrica-details__others__localization"> 
				26			<span class="fabrica-details__others__localization__title">${languageUtil.get(locale, "localization")}</span> 
				27			<span class="fabrica-details__others__localization__value titXL">${localizacion[0].getTitle(locale)}</span> 
				28		</div> 
				29		<#if (details.employees.getData())??> 
				30			<div class="fabrica-details__others__employees"> 
				31				<span class="fabrica-details__others__employees__title">${languageUtil.get(locale, "employees")}</span> 
				32				<span class="fabrica-details__others__employees__value titXL">${details.employees.getData()}</span> 
				33			</div> 
				34		</#if> 
				35		<#if details.products.getData()?? && validator.isNotNull(_webContentsUtil.getValuesFromSelector(details.products.getData(), details.products.getOptionsMap()))> 
				36			<div class="fabrica-details__others__products"> 
				37				<span class="fabrica-details__others__products__title"> 
				38					${languageUtil.get(locale, "products-factorized")} 
				39				</span> 
				40				<span class="fabrica-details__others__products__value titXL"> 
				41					${_webContentsUtil.getValuesFromSelector(details.products.getData(), details.products.getOptionsMap())} 
				42				</span>	 
				43			</div> 
				44		</#if> 
				45		 
				46		<#if (details.partnerYear.getData())??> 
				47			<div class="fabrica-details__others__partner_year"> 
				48				<span class="fabrica-details__others__partner_year__title">${languageUtil.get(locale, "partner-since")}</span> 
				49				<span class="fabrica-details__others__partner_year__value titXL">${details.partnerYear.getData()}</span> 
				50			</div> 
				51		</#if> 
				52		<div class="fabrica-details__others__last"></div> 
				53	</div> 
				54	<#if body.getSiblings()?has_content> 
				55		<div class="prensa-details__body"> 
				56			<ul>			 
				57				<#assign contentImage="" /> 
				58				<#list body.getSiblings() as body> 
				59					<li class="prensa-details__body__item container-grid">	 
				60						<#if (body.content.getData())??> 
				61							<div class="prensa-details__body__item__description"> 
				62								${body.content.getData()} 
				63							</div> 
				64						</#if> 
				65						<#if validator.isNotNull(body.images.imgDesktop.getData()) ||  validator.isNotNull(body.images.imgResponsive.getData()) > 
				66							<div class="prensa-details__body__item__media">						 
				67								<div class="${contentImage}"> 
				68									<div class="imageContainer--space"> 
				69										<#if validator.isNotNull(body.images.imgDesktop.getData())> 
				70											<@getImage img=body.images.imgDesktop classes="w-100 d-none d-lg-block d-xl-block" /> 
				71										</#if> 
				72										<#if validator.isNotNull(body.images.imgResponsive.getData()) > 
				73											<@getImage img=body.images.imgResponsive classes="w-100 d-lg-none d-xl-none" /> 
				74										</#if> 
				75									</div> 
				76								</div> 
				77							</div> 
				78						</#if> 
				79 
				80					</li> 
				81					<#assign contentImage="contentImageCenter" /> 
				82				</#list> 
				83			</ul> 
				84		</div> 
				85	</#if> 
				86</div> 
				87</div> 
				88</div> 
				89 
				90<#macro getImage img classes> 
				91	<#assign  
				92		alt = img.getAttribute("alt") 
				93		entryId = img.getAttribute("fileEntryId") 
				94		height = img.getAttribute("height")  
				95		width = img.getAttribute("width")  
				96		src = img.getData() 
				97	/> 
				98	<img class="${classes}" alt="${alt}" src="${src}"  
				99		height="${height}" width="${width}" data-fileentryid="${entryId}"/> 
				100</#macro> 
				101 
				102 
				103<@liferay_util["html-top"]> 
				104<style> 
				105ol { 
				106    list-style: decimal-leading-zero; 
				107} 
				108.titXXXL p { 
				109	margin: 0; 
				110} 
				111.fabrica-details__others { 
				112	display: flex; 
				113	justify-content: space-between; 
				114	gap: 3rem; 
				115    margin-block: 3rem 2rem; 
				116	padding-block-end: 1rem; 
				117	overflow: auto; 
				118    scroll-snap-type: x mandatory; 
				119} 
				120@media(max-width:1024px) { 
				121 
				122} 
				123.fabrica-details__others > div { 
				124    display: flex; 
				125    flex-direction: column; 
				126    align-items: center; 
				127 
				128	flex-shrink: 0; 
				129	scroll-snap-align: start; 
				130} 
				131.fabrica-details__others > div span:first-of-type { 
				132   font-size: 14px; 
				133   line-height: 22px; 
				134} 
				135.fabrica-details__others > div span:not(:first-of-type) { 
				136   font-size: 32px; 
				137   line-height: 36px; 
				138   font-family: Austin 
				139} 
				140 
				141 
				142 
				143 
				144 
				145 
				146 
				147 
				148.layout-fragment-page div#smooth-wrapper { 
				149	position:static !important; 
				150} 
				151 
				152.layout-fragment-page div#smooth-content { 
				153	transform: inherit !important; 
				154} 
				155.layout-fragment-page div#main-content { 
				156	max-width: 100% !important; 
				157		padding:0px !important; 
				158} 
				159 
				160h4.component-title { display:none;} 
				161/*.titulo-pressrom-detalle { 
				162	margin-top: 80px; 
				163	margin-bottom: 3rem; 
				164}*/ 
				165.titulo-pressrom-detalle span { 
				166	font-family: 'Austin'; 
				167	font-style: normal; 
				168	font-weight: 300; 
				169	font-size: 48px; 
				170	line-height: 56px; 
				171	text-align: justify; 
				172	color: #121314; 
				173	margin-block-end: 3.4rem; 
				174	display: inline-block; 
				175} 
				176 
				177a.select-download > span:first-child { 
				178	font-family: 'MangoSans'; 
				179	font-style: normal; 
				180	font-weight: 400; 
				181	font-size: 11px; 
				182	line-height: 16px; 
				183	letter-spacing: 0.003em; 
				184	color: #121314; 
				185	transform: scale(1.1); 
				186		transition: all 0.25s linear; 
				187		color:#000; 
				188} 
				189 
				190 
				191.prensa-details h1{ 
				192	font-family: 'Austin' !important; 
				193	font-style: normal; 
				194	font-weight: 200; 
				195	font-size: 64px; 
				196	line-height: 1; 
				197	color: #121314; 
				198	margin-bottom: 1.2rem; 
				199	display: inline-block; 
				200	width: 100%; 
				201} 
				202 
				203.prensa-details__body > ul { 
				204	padding-left: 0px; 
				205		list-style:none; 
				206} 
				207 
				208.prensa-details__body__item__description { 
				209	margin-top: 64px; 
				210	grid-column: 3/11; 
				211	margin-bottom: 64px; 
				212	font-family: 'MangoSans'; 
				213	font-style: normal; 
				214	font-weight: 300; 
				215	font-size: 18px; 
				216	line-height: 32px; 
				217	letter-spacing: 0.003em; 
				218	color: #121314; 
				219} 
				220.prensa-details__body__item__media { 
				221	grid-column: 1/-1; 
				222} 
				223.container-grid > .imageContainer--space { 
				224	grid-column: 2/12; 
				225	column-gap: 10px; 
				226} 
				227 
				228.contentImageCenter > .imageContainer--space { 
				229	margin-left: 64px; 
				230	margin-right: 64px; 
				231} 
				232 
				233.prensa-details ::marker { 
				234	color: #121314 !important; 
				235} 
				236 
				237h2.prensa-details__body__item__subtitle { 
				238	grid-column: 3/11; 
				239	font-family: 'Austin' !important; 
				240	font-style: normal !important; 
				241	font-weight: 300 !important; 
				242	font-size: 48px; 
				243	line-height: 48px !important; 
				244	color: #121314; 
				245	margin-bottom: 32px; 
				246	margin-top: 64px; 
				247} 
				248 
				249h2.prensa-details__body__item__subtitle + .prensa-details__body__item__description { 
				250	margin-top: 0px; 
				251} 
				252 
				253@media(max-width:1024px) { 
				254 
				255	.prensa-details h1 { 
				256			font-family: 'Austin' !important; 
				257			font-style: normal; 
				258			font-weight: 200; 
				259			font-size: 57px; 
				260			line-height: 57px; 
				261	} 
				262	 
				263} 
				264 
				265 
				266@media(max-width:768px){ 
				267	.prensa-details h1 { 
				268		font-weight: 300; 
				269		font-size: 40px; 
				270		line-height: 44px !important; 
				271	} 
				272 
				273	h2.prensa-details__body__item__subtitle { 
				274		grid-column: 1/13; 
				275		font-size: 32px; 
				276		line-height: 40px !important; 
				277		margin-bottom: 32px; 
				278		margin-top: 32px; 
				279	} 
				280 
				281	.prensa-details__body__item__description { 
				282		margin-top: 42px; 
				283		margin-bottom: 32px; 
				284		grid-column: 1/13; 
				285	} 
				286	.prensa-details__body__item__description { 
				287		font-size: 16px; 
				288		line-height: 24px; 
				289	} 
				290	.prensa-details h1 { 
				291		font-weight: 300 !important; 
				292		font-size: 40px !important; 
				293		line-height: 44px !important; 
				294		margin-bottom: 32px; 
				295	} 
				296	.prensa-details .container-grid { 
				297		grid-column-gap: 0px !important; 
				298		grid-template-columns: 0; 
				299	} 
				300	.contentImageCenter > .imageContainer--space { 
				301		margin-left: 0px; 
				302		margin-right: 0px; 
				303	} 
				304	.titulo-pressrom-detalle { 
				305		margin-top: 40px; 
				306	} 
				307		 
				308	.titulo-pressrom-detalle span { 
				309		font-size: 24px; 
				310		line-height: 32px; 
				311		text-align: justify; 
				312		color: #121314; 
				313	} 
				314} 
				315</style> 
				316 
				317</@> 
		More factories
-  															
					
	
	
	
		
Soorty Enterprises (Pvt.) Ltd
PAKISTAN - SPECIALITY: DENIM GARMENTS
Soorty Enterprises (Priv.) Ltd.es is a supplier based in Karachi (Pakistan) with more than 22,000 employees which has supplied Mango jeans and denim skirts for over ten years. Founded in the 1980s, Soortys is the largest and most sustainable manufacturer of denim garments in the country, and operates worldwide. It is also a leader in sustainability, being the only company in Pakistan to offer LEED Platinum and Cradle2Cradle vertical production solutions, for both fabrics and garments.
Haian Lianfa Garments Co., Ltd.
CHINA - SPECIALITY: SHIRTS
Haian Lianfa Garments Co., Ltd. is a supplier based in Jiangsu (China) with more than 1,000 employees that has supplied Mango with a wide range of shirts since 2012. Founded in 2002, the company has always manufactured shirts, in addition to trousers and sleepwear.
AIT Apparel CO Ltd
CHINA - SPECIALITY: KNITWEAR ITEMS
AIT APPAREL CO, LTD is a supplier based in Hangzhou (China) with more than 125 employees, manufacturing knitwear for Mango since 2013. It is a professional sweater production and design company, founded in 2009, which is advancing through different projects related to sustainability.
 



