Global Registration Banner Content


Portal Registration Landing

REGISTRASI

1_ctl Mitra Kami. Inspirasi Kami. Kesuksesan Anda.

Mitra Kami. Inspirasi Kami. Kesuksesan Anda.

Lebih dari 80% penjualan Lenovo secara global dikirimkan oleh mitra saluran kami. Melalui Lenovo 360, kerangka kerja mitra kami yang terus berkembang, kami berkomitmen dan berinvestasi dalam kesuksesan mereka.

Selain mendapatkan akses ke portofolio end-to-end, pocket-to-cloud, Lenovo 360 menghadirkan pengalaman mitra yang lebih cerdas untuk semua. Melalui pemberdayaan penjualan dan pemasaran, insentif, inisiatif komunitas, dan banyak lagi, kami memberikan dukungan untuk meningkatkan ketangkasan Anda, memperkuat posisi kompetitif Anda, dan memperluas bidang keahlian Anda.

Klik tautan di bawah ini untuk mengunduh panduan pendaftaran mitra kami atau gunakan formulir di atas untuk mendaftar sebagai mitra Lenovo.

LenovoVelocityAssetFileDownload

2_ctv Apa yang menjadikan Lenovo mitra teknologi yang tepat untuk bisnis Anda?

LenovoVelocityAssetFileDownload

3_iconfeature Mitra yang berinvestasi dalam kesuksesan Anda seperti Anda

Mitra yang berinvestasi dalam kesuksesan Anda seperti Anda

Memenuhi kebutuhan pelanggan saat ini melalui fleksibilitas, kepercayaan, dan pengetahuan yang mendalam.

Offerings thumbnail
Perluas penawaran Anda

Tingkatkan pendapatan Anda dengan portofolio teknologi yang luas dan rabat mitra. Buka akses ke teknologi inovatif, mulai dari laptop dan workstation hingga solusi kolaborasi cerdas dan [...] Lihat lebih

Tingkatkan pendapatan Anda dengan portofolio teknologi yang luas dan rabat mitra. Buka akses ke teknologi inovatif, mulai dari laptop dan workstation hingga solusi kolaborasi cerdas dan infrastruktur yang kuat dan dapat diskalakan. Lihat sedikit

Elevate thumbnail
Tingkatkan percakapan pelanggan

Bangun reputasi Anda sebagai penasihat tepercaya dengan mengembangkan pengetahuan khusus, menyediakan penjualan solusi, dan mendukung bidang minat pelanggan baru dengan kerangka Lenovo 360.

Partner thumbnail
Bermitra dengan cara Anda

Pilih bagaimana Anda berkolaborasi dengan kami, mulai dari bertransaksi di perangkat hingga membangun solusi dan menyediakan layanan terkelola sambil memanfaatkan sumber daya, alat, insentif, [...] Lihat lebih

Pilih bagaimana Anda berkolaborasi dengan kami, mulai dari bertransaksi di perangkat hingga membangun solusi dan menyediakan layanan terkelola sambil memanfaatkan sumber daya, alat, insentif, dan dukungan yang kuat melalui Lenovo 360. Lihat sedikit

LenovoVelocityAssetFileDownload

4_ctil Mengapa Lenovo eBook

LenovoVelocityAssetFileDownload

5_ctil Lenovo 360 eBook

LenovoVelocityAssetFileDownload

6_glossary Portofolio saku ke cloud kami

Portofolio saku ke cloud kami

Temukan produk dan solusi inovatif untuk memenuhi kebutuhan pelanggan modern

Portofolio perangkat keras, perangkat lunak, dan layanan Lenovo yang menyeluruh menggabungkan keamanan, kolaborasi, serta penerapan dan manajemen sederhana untuk memenuhi kebutuhan tenaga kerja modern dan fleksibel di seluruh organisasi dari semua ukuran.

Solusi Lenovo Hybrid Cloud memungkinkan CIO untuk mengambil pendekatan yang lebih cerdas dan lebih strategis untuk inovasi teknologi. Memberdayakan organisasi untuk memanfaatkan infrastruktur tradisional dan as-a-service, solusi kami yang kuat, andal, dan aman membuat pemenuhan kebutuhan bisnis yang berkembang menjadi lebih mudah.

Melalui perangkat keras, kontrol, dan kemudahan penggunaan terdepan di industri dari penyedia infrastruktur AI global terbesar ke-3, Anda dapat membantu pelanggan menskalakan, menerapkan, dan mengelola perangkat edge serta memanfaatkan potensi penuh data mereka.

Dengan layanan, perangkat, dan solusi infrastruktur keberlanjutan Lenovo yang disesuaikan, pelanggan Anda mendapat manfaat dari siklus hidup produk yang lebih sirkular, teknologi yang lebih hemat daya, dan rute baru untuk mempercepat inisiatif ESG organisasi mereka.

Lenovo TruScale menyederhanakan pengadaan, penerapan, dan pengelolaan inovasi TI yang andal. Disampaikan sebagai layanan dengan model pay-as-you-grow yang sederhana, terukur, memberikan akses ke solusi terintegrasi yang memberdayakan tim dan memicu strategi bisnis.

7_cmi-a Panduan Solusi Lenovo

Kesalahan terjadi ketika Memproses Template.
Java method "com.sun.proxy.$Proxy1163.fetchAssetAEM(Locale, com.liferay.document.library.kernel.model.DLFileEntry, com.liferay.portal.kernel.theme.ThemeDisplay)" threw an exception when invoked on com.sun.proxy.$Proxy1163 object "com.lenovo.velocity.company.service.service.impl.UserCustomAttributesLocalServiceImpl@1f8192e5"; 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 Bermitra dengan kami

Bermitra dengan kami

Tingkatkan pendapatan dan potensi penghasilan Anda dengan bergabung dengan pemimpin industri global yang berdedikasi pada saluran dan keberhasilan mitranya. Klik tautan di bawah ini untuk mengunduh panduan pendaftaran mitra kami dan mendaftar untuk menjadi mitra hari ini.

LenovoVelocityAssetFileDownload