Global Registration Banner Content


Portal Registration Landing

РЕГИСТРАЦИЯ

1_ctl наших партнеров. Наше вдохновение. Ваш успех.

Наши партнеры. Наше вдохновение. Ваш успех.

Более 80% продаж Lenovo по всему миру приходится на наших торговых партнеров. Благодаря Lenovo 360, нашей постоянно развивающейся партнерской структуре, мы стремимся к их успеху и инвестируем в него.

В дополнение к доступу к комплексному портфелю решений Lenovo 360 обеспечивает более интеллектуальное взаимодействие с партнерами для всех. Благодаря поддержке продаж и маркетинга, поощрениям, общественным инициативам и многому другому мы оказываем поддержку для повышения вашей гибкости, укрепления ваших конкурентных позиций и расширения областей знаний.

Перейдите по ссылке ниже, чтобы загрузить наше руководство по регистрации партнеров, или воспользуйтесь формой выше, чтобы зарегистрироваться в качестве партнера Lenovo.

LenovoVelocityAssetFileDownload

2_ctv Что делает Lenovo подходящим технологическим партнером для вашего бизнеса?

LenovoVelocityAssetFileDownload

3_iconfeature Партнер, который так же заинтересован в вашем успехе, как и вы сами

Партнер, который так же заинтересован в вашем успехе, как и вы сами

Удовлетворяйте потребности современных клиентов благодаря гибкости, доверию и глубоким знаниям.

Offerings thumbnail
Expand your offerings

Увеличьте свой доход с помощью широкого портфеля технологий и скидок для партнеров. Получите доступ к инновационным технологиям — от ноутбуков и рабочих станций до интеллектуальных решений для [...] Еще

Увеличьте свой доход с помощью широкого портфеля технологий и скидок для партнеров. Получите доступ к инновационным технологиям — от ноутбуков и рабочих станций до интеллектуальных решений для совместной работы и мощной масштабируемой инфраструктуры. Свернуть

Elevate thumbnail
Повысьте уровень общения с клиентами

Завоюйте себе репутацию надежного консультанта, развивая специализированные знания, обеспечивая продажи решений и поддерживая новые области интересов клиентов с помощью платформы Lenovo 360.

Partner thumbnail
Сотрудничайте по-своему

Выберите, как вы будете сотрудничать с нами: от транзакций с устройствами до создания решений и предоставления управляемых услуг, пользуясь мощными ресурсами, инструментами, стимулами и [...] Еще

Выберите, как вы будете сотрудничать с нами: от транзакций с устройствами до создания решений и предоставления управляемых услуг, пользуясь мощными ресурсами, инструментами, стимулами и поддержкой через Lenovo 360. Свернуть

LenovoVelocityAssetFileDownload

4_ctil Электронная книга «Почему Lenovo»

LenovoVelocityAssetFileDownload

5_ctil Электронная книга Lenovo 360

LenovoVelocityAssetFileDownload

6_glossary Наш портфель решений от кармана до облака

Наш портфель решений от кармана до облака

Откройте для себя инновационные продукты и решения, отвечающие потребностям современных клиентов

Комплексный портфель оборудования, программного обеспечения и услуг Lenovo сочетает в себе безопасность, совместную работу, простоту развертывания и управления, чтобы удовлетворить потребности современных и гибких сотрудников в организациях любого размера.

Решения Lenovo для гибридного облака позволяют ИТ-директорам применять более разумный и стратегический подход к технологическим инновациям. Наши надежные, надежные и безопасные решения, позволяющие организациям использовать традиционную инфраструктуру и инфраструктуру как услугу, упрощают удовлетворение растущих потребностей бизнеса.

Благодаря ведущему в отрасли аппаратному обеспечению, контролю и непревзойденной простоте использования от 3-го по величине мирового поставщика инфраструктуры ИИ вы можете помочь клиентам масштабировать, развертывать и управлять периферийными устройствами, а также использовать весь потенциал своих данных.

Благодаря специализированным услугам, устройствам и инфраструктурным решениям Lenovo в области устойчивого развития ваши клиенты получают выгоду от более замкнутого жизненного цикла продуктов, более энергоэффективных технологий и новых маршрутов для ускорения реализации инициатив в области ESG в своей организации.

Lenovo TruScale упрощает приобретение, развертывание и управление надежными ИТ-инновациями. Предоставляемая как услуга с простой, масштабируемой моделью оплаты по мере роста, она предоставляет доступ к интегрированным решениям, которые расширяют возможности команд и стимулируют бизнес-стратегию.

Руководства по решениям Lenovo 7_cmi-a

Во время обработки запрошенного шаблона произошла ошибка...
Java method "com.sun.proxy.$Proxy1388.fetchAssetAEM(Locale, com.liferay.document.library.kernel.model.DLFileEntry, com.liferay.portal.kernel.theme.ThemeDisplay)" threw an exception when invoked on com.sun.proxy.$Proxy1388 object "com.lenovo.velocity.company.service.service.impl.UserCustomAttributesLocalServiceImpl@5cf092b2"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign assetRefernceId = customUserA...  [in template "20099#20135#CONTENT_MULTIPLE IMAGES AND ASSETS_NEW" at line 1, column 8474]
----
1<#-- gets dl file service -->		<#assign dlFileEntryService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")>		<#assign assetMetaDataService=serviceLocator.findService("com.lenovo.velocity.company.service.service.AEMAssetMetadataLocalService")>		<#assign customUserAttrService=serviceLocator.findService("com.lenovo.velocity.company.service.service.UserCustomAttributesLocalService")>				<div class="lnv-general-solutions-container detail-listing-padding">						<div class="lnv-general-solutions-header">				<p> ${Title.getData()} </p>			</div>			<div class="lnv-general-solutions-data">				<p> ${Description.getData()} </p>			</div>						<div class="lnv-general-solutions-images">				<div class="lnv-multi-item-carousel">					<div class="row mx-auto my-auto">						<#assign itemCount=0>						<#if Image3mjp.getSiblings()?has_content>							<#-- loop for repeatable field-->							<#list Image3mjp.getSiblings() as cur_Image3mjp>							<#assign itemCount=itemCount+1>  							</#list> 						</#if>						<#if itemCount gte 4>						<div id="" class="recipeCarousel carousel w-100" data-ride="carousel" data-interval="false">							<div class="recipeCarousel-inner carousel-inner w-100" role="listbox">		            							<#-- checks if repeatable field has values -->							<#if Image3mjp.getSiblings()?has_content>		   								<#assign counter=0>	   														<#-- loop for repeatable fields -->								<#list Image3mjp.getSiblings() as cur_Image3mjp> 									<#assign aemAssetDetails="">									<#assign assetDetails="">									<#assign fileStr = ""/> 									<#assign extension = ""/> 									<#assign uuidStr = ""/> 									<#assign uuid = "0" /> 									<#assign groupId = "0" />																<#assign count = 0 />																		<#-- get groupid, file, uuid of the attached file by splitting the url from / -->										<#list "${cur_Image3mjp.Attachment.getData()}"?split("/") as url> 										        <#-- get group id at 2nd place-->												<#if count == 2>													<#assign groupId = url />       												</#if>												<#-- get file name string at 4rth place-->												<#if count == 4>													<#assign fileStr = url />         												</#if>   		                                        <#-- get uuid string at 5th place-->																						<#if count == 5>													<#assign uuidStr = url />               												</#if>												<#assign count = count+1 />                                           										</#list> 					  										<#-- get file type of attachment --> 										<#if fileStr?? && fileStr != "">												<#list "${fileStr}"?split(".") as fileSplit>                                     														<#assign extension = fileSplit />                                  												</#list> 										</#if>     					  										<#assign count = 0 />																        <#-- split the uuid string to get the uuid --> 								        <#if uuidStr?? && uuidStr != "">								        		<#list "${uuidStr}"?split("?") as uuidSplit>                     													<#if count == 0>                														<#assign uuid = uuidSplit />                       													</#if>     												<#assign count = count+1 />         												</#list>								        </#if> 					  										<#assign myGroupId=groupId?eval>		                                <#-- get file from uuid and groupid -->			                                <#if fileStr?? && fileStr != "">				                                		<#assign file= dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,myGroupId) >		              							<#assign customUserAttrService=serviceLocator.findService("com.lenovo.velocity.company.service.service.UserCustomAttributesLocalService")>												<!--Method to fetch the aem assetRefernceId from document and media -->												 <#assign assetRefernceId = customUserAttrService.fetchAssetAEM(themeDisplay.getLocale(),file,themeDisplay)>												 <#if assetRefernceId?? &&assetRefernceId?has_content >												 <#assign encryptedAssetId=customUserAttrService.encryptAssetString(assetRefernceId)/>												 <#assign aemAssetDetails = assetMetaDataService.getAEMAssetTitle(assetRefernceId)>													 </#if>												  <#if aemAssetDetails?? && aemAssetDetails?has_content>													  <#else>																		 												 <!--Method to fetch url of the file uploaded using External link  -->									 			<#assign assetDetails = customUserAttrService.getExternalUrl(themeDisplay.getLocale(),file,themeDisplay)>																					<!--Method to fetch url of the file uploaded using Asset or Doucument and media in  download field  -->										 		<#if (!assetDetails?? && !assetDetails?has_content) || (assetDetails?? && assetDetails?has_content && !assetDetails.getDownloadLink()??)>												<!--Method to fetch url of the file uploaded using Asset or Doucument and media in  download field  -->												 <#assign file2 = customUserAttrService.fetchAssetUrl(themeDisplay.getLocale(),file,themeDisplay)>												<!--Method to fetch details like file size,name and extension attached to the asset -->												 <#assign assetDetails = customUserAttrService.getAssetDetails(file2)>		                                </#if>  										  </#if></#if>					                    <#-- active class for first member of carousel -->										<#if counter==0>	   											<div class="carousel-item active" >										<#else>	    											<div class="carousel-item" >										</#if>		   		              										<#assign counter=counter+1>      		              												<div class="col-xs-12 col-md-4 col-lg-4 col-xl-4 carousel-column">													<div class="card card-body carousel-item-block">														<div class="white-background-image-gradient">																													    <#-- check if image field has data -->															<#if cur_Image3mjp.getData()?? && cur_Image3mjp.getData() != "">  																<img data-fileentryid="${cur_Image3mjp.getAttribute("fileEntryId")}" class="img-fluid" 																																alt="${cur_Image3mjp.getAttribute("alt")}" src='${cur_Image3mjp.getData()}' />																</#if>														</div>																						<#if cur_Image3mjp.getData()?? && cur_Image3mjp.getData() != ""								                             && cur_Image3mjp.Image_title.getData()?? && cur_Image3mjp.Image_title.getData() != "">								                        		<span class="lnv-title1 contentMulipleFontResizing"> 																		${cur_Image3mjp.Image_title.getData()}														<#if cur_Image3mjp.ImageBreif?? && cur_Image3mjp.ImageBreif.getData()?? && cur_Image3mjp.ImageBreif.getData() != "" >														                <div class= "image-brief">  																		${cur_Image3mjp.ImageBreif.getData()}																		</div>																		</#if>																</span> 								                        </#if>								        <#if cur_Image3mjp.WebContentName?? && cur_Image3mjp.WebContentName.GenericWebContent?? 										&& cur_Image3mjp.WebContentName.getData()?? && cur_Image3mjp.WebContentName.getData()?has_content 										&& cur_Image3mjp.WebContentName.GenericWebContent.getData()?? && cur_Image3mjp.WebContentName.GenericWebContent.getData()?has_content>										<#assign articleURL="">										<#assign webContentData = jsonFactoryUtil.createJSONObject(cur_Image3mjp.WebContentName.GenericWebContent.getData())>										<#if webContentData?? && webContentData?has_content>										 <#assign primaryKey=0/>										 <#assign wcprimaryKey = webContentData.getString("classPK")/>									         <#if wcprimaryKey?? && wcprimaryKey?has_content>								         <#assign primaryKey = wcprimaryKey?number/>										 <!-- Method for fetching detail page URL of campaign,promotions,etc -->										 <#if primaryKey?? && primaryKey?has_content>										  <#assign articleURL=customUserAttrService.retreiveWebContentUrl(themeDisplay,primaryKey)/>										  </#if>										  </#if>											  </#if> 										  <a  class="contentMultipleImageRedirectingLink btn" href="${articleURL}"> ${cur_Image3mjp.WebContentName.getData()} </a>										  											<#elseif uuid?has_content && myGroupId &gt; 0>														 <#if aemAssetDetails?? && aemAssetDetails?has_content>														<#assign assetDummyValue = aemAssetDetails.getAssetTitle()>														<#assign assetFilteredValue =assetDummyValue?replace("'", '&apos')/>		    												<#if aemAssetDetails.getFileSize()?? && aemAssetDetails.getFileSize()!= "0KB" && aemAssetDetails.getFileSize()?has_content  >															<a class="lnv-download-size btn" href="javascript:void(0);" onclick="getAEMAssetDetails('${encryptedAssetId}','${assetFilteredValue}','${aemAssetDetails.getFileFormat()?lower_case}');setDownloadFileName('${assetFilteredValue}');">															${aemAssetDetails.getFileFormat()}&nbsp(${aemAssetDetails.getFileSize()})</a>															<#else>																${languageUtil.get(locale,'no-files-selected')}															</#if>													   													  <#elseif assetDetails?? && assetDetails?has_content>													  <#if assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? && assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content >		    											 <a	class="lnv-download-size btn" href="/o/filedownload-rest/download?attachment=${assetDetails.getDownloadLink()}&title=${assetDetails.getAssetTitle()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" >																	  ${assetDetails.getButtonName()}</a>														<#elseif assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? &&! assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content >															  <a class="lnv-download-size btn" href="${assetDetails.getDownloadLink()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" > ${assetDetails.getButtonName()}</a>														<#elseif assetDetails?? && assetDetails?has_content && assetDetails.getFileName()?? && assetDetails.getFileName()?has_content>                											            <#if file2?has_content && assetDetails.getFileSize()?? && assetDetails.getFileSize()!= "0KB" && assetDetails.getFileSize()?has_content  >											           		<a class="lnv-download-size btn" href="${file2}?download=true" onclick="setDownloadFileName('${assetDetails.getFileName()}')"> ${assetDetails.getFileExtension()}&nbsp; (${assetDetails.getFileSize()}) </a>											           											            <#else>${languageUtil.get(locale,'no-files-selected')}											            </#if>													</#if>												 </#if>												 <#elseif cur_Image3mjp.External_URL_Name?? && cur_Image3mjp.External_URL_Name.External_URL?? && cur_Image3mjp.External_URL_Name.getData()?? && cur_Image3mjp.External_URL_Name.getData()!="" 		            		&& cur_Image3mjp.External_URL_Name.External_URL.getData()?? && cur_Image3mjp.External_URL_Name.External_URL.getData()!="">		            			<a class="contentMultipleImageRedirectingLink btn" href="${cur_Image3mjp.External_URL_Name.External_URL.getData()}" target="_blank" class="lnv-link-icon"> ${cur_Image3mjp.External_URL_Name.getData()} </a>													</#if>														</div>												</div>											</div>								</#list>											</#if>											</div>							<#assign counter=0>	      							<#-- loop for repeatable field-->							<#list Image3mjp.getSiblings() as cur_Image3mjp>    		                            		                            <#-- check for previous and next values -->																<#if counter==3>	       										<a class="carousel-control-next" onclick="plusSlides(1, this)" role="button" data-slide="next">											<span class="sr-only">Next</span>						   										</a>   										<a class="carousel-control-prev" onclick="plusSlides(-1, this)" role="button" data-slide="prev">											<span class="sr-only">Previuos</span>						   										</a>   									</#if>      									<#assign counter=counter+1>   							</#list>	      													</div>						<#else>						<div id="" class="no-carousel w-100" data-interval="false">							<div class="recipeCarousel-inner carousel-inner w-100" role="listbox">		            							<#-- checks if repeatable field has values -->							<#if Image3mjp.getSiblings()?has_content>		   								<#assign counter=0>	   														<#-- loop for repeatable fields -->								<#list Image3mjp.getSiblings() as cur_Image3mjp> 									<#assign aemAssetDetails="">									<#assign assetDetails=""> 									<#assign fileStr = ""/> 									<#assign extension = ""/> 									<#assign uuidStr = ""/> 									<#assign uuid = "0" /> 									<#assign groupId = "0" />										<#assign count = 0 />																		<#-- get groupid, file, uuid of the attached file by splitting the url from / -->										<#list "${cur_Image3mjp.Attachment.getData()}"?split("/") as url> 										        <#-- get group id at 2nd place-->												<#if count == 2>													<#assign groupId = url />       												</#if>												<#-- get file name string at 4rth place-->												<#if count == 4>													<#assign fileStr = url />         												</#if>   		                                        <#-- get uuid string at 5th place-->																						<#if count == 5>													<#assign uuidStr = url />               												</#if>												<#assign count = count+1 />                                           										</#list> 					  										<#-- get file type of attachment --> 										<#if fileStr?? && fileStr != "">												<#list "${fileStr}"?split(".") as fileSplit>                                     														<#assign extension = fileSplit />                                  												</#list> 										</#if>     					  										<#assign count = 0 />																        <#-- split the uuid string to get the uuid --> 								        <#if uuidStr?? && uuidStr != "">								        		<#list "${uuidStr}"?split("?") as uuidSplit>                     													<#if count == 0>                														<#assign uuid = uuidSplit />                       													</#if>     												<#assign count = count+1 />         												</#list>								        </#if> 					  										<#assign myGroupId=groupId?eval>		                                <#-- get file from uuid and groupid -->			                                <#if fileStr?? && fileStr != "">				                                		<#assign file= dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,myGroupId) >		              							<#assign customUserAttrService=serviceLocator.findService("com.lenovo.velocity.company.service.service.UserCustomAttributesLocalService")>												<!--Method to fetch the aem assetRefernceId from document and media -->												 <#assign assetRefernceId = customUserAttrService.fetchAssetAEM(themeDisplay.getLocale(),file,themeDisplay)>												 <#if assetRefernceId?? &&assetRefernceId?has_content >												 <#assign encryptedAssetId=customUserAttrService.encryptAssetString(assetRefernceId)/>												 <#assign aemAssetDetails = assetMetaDataService.getAEMAssetTitle(assetRefernceId)>													 </#if>												  <#if aemAssetDetails?? && aemAssetDetails?has_content>													  <#else>																		 												 <!--Method to fetch url of the file uploaded using External link  -->									 			<#assign assetDetails = customUserAttrService.getExternalUrl(themeDisplay.getLocale(),file,themeDisplay)>																					<!--Method to fetch url of the file uploaded using Asset or Doucument and media in  download field  -->										 		<#if (!assetDetails?? && !assetDetails?has_content) || (assetDetails?? && assetDetails?has_content && !assetDetails.getDownloadLink()??)>												<!--Method to fetch url of the file uploaded using Asset or Doucument and media in  download field  -->												 <#assign file2 = customUserAttrService.fetchAssetUrl(themeDisplay.getLocale(),file,themeDisplay)>												<!--Method to fetch details like file size,name and extension attached to the asset -->												 <#assign assetDetails = customUserAttrService.getAssetDetails(file2)>		                                </#if>  										  </#if></#if>					                    <#-- active class for first member of carousel -->										<#if counter==0>	   											<div class="carousel-item active" >										<#else>	    											<div class="carousel-item" >										</#if>		   		              										<#assign counter=counter+1>      		              												<div class="col-sm-12 carousel-column">													<div class="card card-body carousel-item-block">														<div class="white-background-image-gradient">																													    <#-- check if image field has data -->															<#if cur_Image3mjp.getData()?? && cur_Image3mjp.getData() != "">  																<img data-fileentryid="${cur_Image3mjp.getAttribute("fileEntryId")}" class="img-fluid" 																																alt="${cur_Image3mjp.getAttribute("alt")}" src='${cur_Image3mjp.getData()}' />																</#if>														</div>																						<#if cur_Image3mjp.getData()?? && cur_Image3mjp.getData() != ""								                             && cur_Image3mjp.Image_title.getData()?? && cur_Image3mjp.Image_title.getData() != "">								                        		<span class="lnv-title1 contentMulipleFontResizing" > 																		${cur_Image3mjp.Image_title.getData()}																		<#if cur_Image3mjp.ImageBreif?? && cur_Image3mjp.ImageBreif.getData()?? && cur_Image3mjp.ImageBreif.getData() != "" >                                                                          <div class= "image-brief">  																		${cur_Image3mjp.ImageBreif.getData()}																		</div>																		</#if>  																</span> 								                        </#if>								<#if cur_Image3mjp.WebContentName?? && cur_Image3mjp.WebContentName.GenericWebContent?? 										&& cur_Image3mjp.WebContentName.getData()?? && cur_Image3mjp.WebContentName.getData()?has_content 										&& cur_Image3mjp.WebContentName.GenericWebContent.getData()?? && cur_Image3mjp.WebContentName.GenericWebContent.getData()?has_content>										<#assign articleURL="">										<#assign webContentData = jsonFactoryUtil.createJSONObject(cur_Image3mjp.WebContentName.GenericWebContent.getData())>										<#if webContentData?? && webContentData?has_content>										 <#assign primaryKey=0/>										 <#assign wcprimaryKey = webContentData.getString("classPK")/>									         <#if wcprimaryKey?? && wcprimaryKey?has_content>								         <#assign primaryKey = wcprimaryKey?number/>										 <!-- Method for fetching detail page URL of campaign,promotions,etc -->										 <#if primaryKey?? && primaryKey?has_content>										  <#assign articleURL=customUserAttrService.retreiveWebContentUrl(themeDisplay,primaryKey)/>										  </#if>										  </#if>											  </#if> 										  <a class="contentMultipleImageRedirectingLink btn" href="${articleURL}">															${cur_Image3mjp.WebContentName.getData()}</a>																												<#elseif uuid?has_content && myGroupId &gt; 0>													 <#if aemAssetDetails?? && aemAssetDetails?has_content>													<#assign assetDummyValue = aemAssetDetails.getAssetTitle()>													<#assign assetFilteredValue =assetDummyValue?replace("'", '&apos')/>		    										<#if aemAssetDetails.getFileSize()?? && aemAssetDetails.getFileSize()!= "0KB" && aemAssetDetails.getFileSize()?has_content  >															<a class="lnv-download-size btn" href="javascript:void(0);" onclick="getAEMAssetDetails('${encryptedAssetId}','${assetFilteredValue}','${aemAssetDetails.getFileFormat()?lower_case}');setDownloadFileName('${assetFilteredValue}');">															${aemAssetDetails.getFileFormat()}&nbsp(${aemAssetDetails.getFileSize()})</a>															<#else>																${languageUtil.get(locale,'no-files-selected')}															</#if>													   													  <#elseif assetDetails?? && assetDetails?has_content>													  <#if assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? && assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content >		    											 <a	class="lnv-download-size btn" href="/o/filedownload-rest/download?attachment=${assetDetails.getDownloadLink()}&title=${assetDetails.getAssetTitle()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" >																	  ${assetDetails.getButtonName()}</a>														<#elseif assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? &&! assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content >															  <a class="lnv-download-size btn" href="${assetDetails.getDownloadLink()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" > ${assetDetails.getButtonName()}</a>														<#elseif assetDetails?? && assetDetails?has_content && assetDetails.getFileName()?? && assetDetails.getFileName()?has_content>                											            <#if file2?has_content && assetDetails.getFileSize()?? && assetDetails.getFileSize()!= "0KB" && assetDetails.getFileSize()?has_content  >											           		<a class="lnv-download-size btn" href="${file2}?download=true" onclick="setDownloadFileName('${assetDetails.getFileName()}')"> ${assetDetails.getFileExtension()}&nbsp; (${assetDetails.getFileSize()}) </a>											           											            <#else>${languageUtil.get(locale,'no-files-selected')}											            </#if>													</#if>												 </#if>							<#elseif cur_Image3mjp.External_URL_Name?? && cur_Image3mjp.External_URL_Name.External_URL?? && cur_Image3mjp.External_URL_Name.getData()?? && cur_Image3mjp.External_URL_Name.getData()!="" 		            		&& cur_Image3mjp.External_URL_Name.External_URL.getData()?? && cur_Image3mjp.External_URL_Name.External_URL.getData()!="">		            			<a class="contentMultipleImageRedirectingLink btn" href="${cur_Image3mjp.External_URL_Name.External_URL.getData()}" target="_blank" class="lnv-link-icon"> ${cur_Image3mjp.External_URL_Name.getData()} </a>												</#if>													</div>												</div>											</div>								</#list>											</#if>											</div>							<#assign counter=0>	      							<#-- loop for repeatable field-->							<#list Image3mjp.getSiblings() as cur_Image3mjp>    		                            		                            <#-- check for previous and next values -->																<#if counter==3>	       										<a class="carousel-control-next" onclick="plusSlides(1, this)" role="button" data-slide="next">											<span class="sr-only">Next</span>						   										</a>   										<a class="carousel-control-prev" onclick="plusSlides(-1, this)" role="button" data-slide="prev">											<span class="sr-only">Previuos</span>						   										</a>   									</#if>      									<#assign counter=counter+1>   							</#list>	      													</div>						</#if>					</div>				</div>			</div>		</div>		<@liferay.js file_name="${themeDisplay.getPathThemeJavaScript()}/Main/multi_multicarousel.js"/>		<!--Added for AEM -->		<@liferay_portlet["runtime"] portletName="lenovo_velocity_asset_file_download_LenovoVelocityAssetFileDownloadPortlet_INSTANCE_gvPLS60vSBEr"/>		<script> 			function getAEMAssetDetails(url,title,fileFormat){			var urlToSend= assetResourceUrl+"&fileUrl="+url;			var req = new XMLHttpRequest();		     req.open("GET", urlToSend, true);		     req.responseType = "blob";		     req.onload = function (event) {		         var blob = req.response;		        		         var link=document.createElement('a');		         		         link.href=window.URL.createObjectURL(blob);		         link.download=title.replace("&apos","'")+"."+fileFormat;		         link.click();		     };				     req.send();					   }		</script> 

8_ctl Сотрудничайте с нами

Сотрудничайте с нами

Увеличьте свой доход и потенциальный заработок, объединив усилия с мировым лидером отрасли, занимающимся каналом сбыта и успехом своих партнеров. Перейдите по ссылкам ниже, чтобы загрузить наше руководство по регистрации партнеров и зарегистрироваться, чтобы стать партнером уже сегодня.

LenovoVelocityAssetFileDownload