Se ha producido un error al procesar la plantilla.
Java method "com.mecalux.util.service.impl.MlxUrlUtilServiceImpl.getUrlByJournalArticle(com.liferay.journal.model.JournalArticle, String, long)" threw an exception when invoked on com.mecalux.util.service.impl.MlxUrlUtilServiceImpl object "com.mecalux.util.service.impl.MlxUrlUtilServiceImpl@43669969"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign pageinfo = mlxUrlUtilService... [in template "20101#20128#PRODUCT-CATEGORY-STR-DEFAULT-TEMPLATE" at line 273, column 29] ----
1<style>
2 .corporate--banners--software-solutions--container {
3 margin:0!important /*MKTG-488 (retirar margin a freebanners Easy en singleTab Product)*/
4 }
5</style>
6
7 <#assign cdn = (mlxUrlUtilService.getCdn(groupId))!"" />
8 <#assign globalGroupId = mlxConstants.getLongConstant("GroupIds","GLOBAL")/>
9
10 <#assign heading = .vars["name"].getData() />
11 <#assign subheading = .vars["description"].getData() />
12
13 <!-- COMPROBAR SI EL PRODUCTO ESTÁ INVOCADO POR LANDING SEM Y OBTENGO NUEVOS CAMPOS ESTRUCTURA-->
14 <#assign landingData = mlxSeoService.getLandingSEMForUrl(themeDisplay)!"" />
15 <#if landingData?has_content>
16 <#assign nameLanding = (mlxJournalHelperService.getStructureFieldValue(landingData, "h1", locale)?string)!"" />
17 <#assign descriptionLanding = (mlxJournalHelperService.getStructureFieldValue(landingData, "shortDescription", locale)?string)!"" />
18
19 <#assign heading = nameLanding />
20 <#assign subheading = descriptionLanding />
21
22 <!--OJO los 2 siguientes valores son campos repetibles, por lo que podrían traer un array y no un string -->
23 <#assign targetTextLanding = ([mlxJournalHelperService.getStructureFieldValue(landingData, "targetText", "${locale}")][0])!"" />
24 <#assign replaceTextLanding = (mlxJournalHelperService.getStructureFieldValue(landingData, "targetTextFieldSetFieldSet", "${locale}"))!"" />
25
26 </#if>
27
28
29 <!--MKTG-1262 custom productCategory webContent-->
30 <#assign articleId = .vars["reserved-article-id"].data />
31
32 <#assign webcontentStrKey = "WEB-CONTENT-STR" />
33 <#assign webcontentStrKeyRelated = mlxAssetHelperService.getRelatedArticlesByStructure(groupId, articleId, webcontentStrKey) />
34
35 <#if webcontentStrKeyRelated?has_content>
36 <#list webcontentStrKeyRelated as webContentRelated >
37 <#assign webcontentStrKeyRelated_content = mlxJournalHelperService.getStructureFieldValue(webContentRelated,"content","${locale}") />
38 ${webcontentStrKeyRelated_content}
39 </#list>
40 <#else>
41 <header class="corporate--product-category--header--container">
42 <div class="corporate--product-category--header">
43 <h1 class="corporate--product-category--header--heading">${heading}</h1>
44 <p class="corporate--product-category--header--subheading">${subheading}</p>
45 </div>
46 </header>
47 </#if>
48
49
50 <#assign article = mlxAssetHelperService.fetchLatestApprovedArticle(groupId, .vars["reserved-article-id"].getData()) />
51 <#assign articleCats = mlxAssetHelperService.getAssetCategoryListByJournalArticle(article) />
52
53 <#-- Cambiar el strKey con el correspondiente del entorno -->
54 <#assign productStrKey = "PRODUCT-STR" />
55 <#-- Cambiar el strKey con el correspondiente del entorno -->
56 <#assign productCategoryStrKey = "PRODUCT-CATEGORY-STR" />
57 <#-- Cambiar con el categoryId de Soluciones de almacenaje correspondiente del entorno -->
58 <#assign whsCatId = 396289 />
59
60 <#assign catId = mlxCategorizationService.getPartialHierarchyForJournalArticle(themeDisplay.getUserId(), groupId, locale, article,[productStrKey, productCategoryStrKey]).getCategoryId() />
61 <#assign catProds = mlxCategorizationService.getPartialHierarchyForJournalArticle(themeDisplay.getUserId(), groupId, locale, article, [productStrKey]).getChilds() />
62
63 <#if catProds?has_content >
64
65 <#assign article = mlxAssetHelperService.fetchLatestApprovedArticle(groupId, .vars["reserved-article-id"].getData()) />
66 <#assign masterName = mlxMastersHelperService.getMasterNameByJournalArticle(article) />
67
68 <#if masterName == "********Automated-warehouses"> <#------ anulamos este test (hasta migrar a 7.4) ------>
69
70 <style>
71 /*RESTYLE CARDS*/
72 @charset "UTF-8";@media screen and (min-width: 0) and (max-width: 479px) {.corporate--product-category--form-budget--subtitle {font-size: 10.575px;line-height: 1.3;}}@media screen and (min-width: 480px) and (max-width: 959px) {.corporate--product-category--form-budget--subtitle {font-size: 12px;line-height: 1.3;}}@media screen and (min-width: 960px) and (max-width: 1299px) {.corporate--product-category--form-budget--subtitle {font-size: 12px;line-height: 1.3;}}@media screen and (min-width: 1300px) and (max-width: 1599px) {.corporate--product-category--form-budget--subtitle {font-size: 12px;line-height: 1.3;}}@media screen and (min-width: 1600px) and (max-width: 10000000px) {.corporate--product-category--form-budget--subtitle {font-size: 12px;line-height: 1.3;}}@media screen and (min-width: 0) and (max-width: 479px) {#upload-btn, .corporate--product-category--form-budget--attach-button {font-size: 12.425625px;line-height: 1.3;}}@media screen and (min-width: 480px) and (max-width: 959px) {#upload-btn, .corporate--product-category--form-budget--attach-button {font-size: 14.4px;line-height: 1.3;}}@media screen and (min-width: 960px) and (max-width: 1299px) {#upload-btn, .corporate--product-category--form-budget--attach-button {font-size: 14.4px;line-height: 1.3;}}@media screen and (min-width: 1300px) and (max-width: 1599px) {#upload-btn, .corporate--product-category--form-budget--attach-button {font-size: 14.4px;line-height: 1.3;}}@media screen and (min-width: 1600px) and (max-width: 10000000px) {#upload-btn, .corporate--product-category--form-budget--attach-button {font-size: 14.4px;line-height: 1.3;}}@media screen and (min-width: 0) and (max-width: 479px) {.corporate--product-category--quote-info--item-link, .corporate--product-category--best-practices-info--item-link, .corporate--product-category--phone-contact-info--item-link, .corporate--product-category--form-budget--button {font-size: 14.600109375px;line-height: 1.3;}}@media screen and (min-width: 480px) and (max-width: 959px) {.corporate--product-category--quote-info--item-link, .corporate--product-category--best-practices-info--item-link, .corporate--product-category--phone-contact-info--item-link, .corporate--product-category--form-budget--button {font-size: 17.28px;line-height: 1.3;}}@media screen and (min-width: 960px) and (max-width: 1299px) {.corporate--product-category--quote-info--item-link, .corporate--product-category--best-practices-info--item-link, .corporate--product-category--phone-contact-info--item-link, .corporate--product-category--form-budget--button {font-size: 17.28px;line-height: 1.3;}}@media screen and (min-width: 1300px) and (max-width: 1599px) {.corporate--product-category--quote-info--item-link, .corporate--product-category--best-practices-info--item-link, .corporate--product-category--phone-contact-info--item-link, .corporate--product-category--form-budget--button {font-size: 17.28px;line-height: 1.3;}}@media screen and (min-width: 1600px) and (max-width: 10000000px) {.corporate--product-category--quote-info--item-link, .corporate--product-category--best-practices-info--item-link, .corporate--product-category--phone-contact-info--item-link, .corporate--product-category--form-budget--button {font-size: 17.28px;line-height: 1.3;}}@media screen and (min-width: 0) and (max-width: 479px) {.corporate--product-category--relateds-links--heading {font-size: 17.1551285156px;line-height: 1.3;}}@media screen and (min-width: 480px) and (max-width: 959px) {.corporate--product-category--relateds-links--heading {font-size: 20.736px;line-height: 1.3;}}@media screen and (min-width: 960px) and (max-width: 1299px) {.corporate--product-category--relateds-links--heading {font-size: 20.736px;line-height: 1.3;}}@media screen and (min-width: 1300px) and (max-width: 1599px) {.corporate--product-category--relateds-links--heading {font-size: 20.736px;line-height: 1.3;}}@media screen and (min-width: 1600px) and (max-width: 10000000px) {.corporate--product-category--relateds-links--heading {font-size: 20.736px;line-height: 1.3;}}@media screen and (min-width: 0) and (max-width: 479px) {.corporate--product-category--quote-info--item-heading, .corporate--product-category--best-practices-info--item-heading, .corporate--product-category--phone-contact-info--item-heading {font-size: 20.1572760059px;line-height: 1.3;}}@media screen and (min-width: 480px) and (max-width: 959px) {.corporate--product-category--quote-info--item-heading, .corporate--product-category--best-practices-info--item-heading, .corporate--product-category--phone-contact-info--item-heading {font-size: 24.8832px;line-height: 1.3;}}@media screen and (min-width: 960px) and (max-width: 1299px) {.corporate--product-category--quote-info--item-heading, .corporate--product-category--best-practices-info--item-heading, .corporate--product-category--phone-contact-info--item-heading {font-size: 24.8832px;line-height: 1.3;}}@media screen and (min-width: 1300px) and (max-width: 1599px) {.corporate--product-category--quote-info--item-heading, .corporate--product-category--best-practices-info--item-heading, .corporate--product-category--phone-contact-info--item-heading {font-size: 24.8832px;line-height: 1.3;}}@media screen and (min-width: 1600px) and (max-width: 10000000px) {.corporate--product-category--quote-info--item-heading, .corporate--product-category--best-practices-info--item-heading, .corporate--product-category--phone-contact-info--item-heading {font-size: 24.8832px;line-height: 1.3;}}@media screen and (min-width: 0) and (max-width: 479px) {.corporate--product-category--products--item--heading, .corporate--product-category--header--heading {font-size: 27.8296391856px;line-height: 1.3;}}@media screen and (min-width: 480px) and (max-width: 959px) {.corporate--product-category--products--item--heading, .corporate--product-category--header--heading {font-size: 35.831808px;line-height: 1.3;}}@media screen and (min-width: 960px) and (max-width: 1299px) {.corporate--product-category--products--item--heading, .corporate--product-category--header--heading {font-size: 35.831808px;line-height: 1.3;}}@media screen and (min-width: 1300px) and (max-width: 1599px) {.corporate--product-category--products--item--heading, .corporate--product-category--header--heading {font-size: 35.831808px;line-height: 1.3;}}@media screen and (min-width: 1600px) and (max-width: 10000000px) {.corporate--product-category--products--item--heading, .corporate--product-category--header--heading {font-size: 35.831808px;line-height: 1.3;}}.corporate--product-category--header--container {position: relative;max-width: 100%;padding: 1.4rem 20px 1.1rem;margin: auto;background-color: #ffffff;display: flex;flex-direction: column;justify-content: center;border-bottom: 1px solid #eeeeee;}@media screen and (max-width: 61.19rem) {.corporate--product-category--header--container {padding: 2rem;}}@media (max-width: 479px) {.corporate--product-category--header--container {padding: 2rem 1rem;}}.corporate--product-category--header {position: relative;text-align: left;}@media screen and (max-width: 61.19rem) {.corporate--product-category--header {text-align: center;max-width: 100%;}}.corporate--product-category--header--heading {color: #222222;display: block;margin-bottom: 0;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;background: initial;line-height: inherit;text-rendering: optimizeLegibility;}@media (min-width: 960px) {.corporate--product-category--header--subheading {margin-top: 0;}}.corporate--product-category--header--subheading-highlighted {font-size: 1.3em;}.corporate--product-category--products {font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;}.corporate--product-category--products--container {width: 100%;padding: 4rem 7rem;}@media (max-width: 1299px) {.corporate--product-category--products--container {padding: 3rem;}}@media (max-width: 479px) {.corporate--product-category--products--container {padding: 2rem 1rem;}}.corporate--product-category--products--list {padding-left: 0;list-style-type: none;margin: 0 -0.5rem;}@media (min-width: 768px) {.corporate--product-category--products--list {display: flex;flex-wrap: wrap;justify-content: center;margin: 0 -1.25rem;}}.corporate--product-category--products--item {width: 100%;padding: 0.75rem;}@media (min-width: 960px) {.corporate--product-category--products--item {flex: 0 1 50%;}}@media (min-width: 1300px) {.corporate--product-category--products--item {flex: 1 0 33%;}}.corporate--product-category--products--item--card {width: 100%;background-color: #333333;position: relative;height: 100%;min-height: 300px;border-radius: 0.25rem;box-shadow: 0 0 6px -2px rgba(0, 0, 0, 0.3);overflow: hidden;}.corporate--product-category--products--item--figure {position: absolute;height: 100%;width: 100%;margin: 0;top: 0;bottom: 0;}.corporate--product-category--products--item--figure:before {content: "";display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.25));}.corporate--product-category--products--item--image {height: 100%;width: 100%;object-fit: cover;}.corporate--product-category--products--item--wrapper {padding: 2.5rem;position: relative;z-index: 1;max-width: 600px;}.corporate--product-category--products--item--heading {color: #ffffff;display: block;margin-bottom: 2rem;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;text-transform: uppercase;background: initial;line-height: inherit;}.corporate--product-category--products--item--heading:before {content: " ";display: flex;padding-top: 0.7rem;width: 40px;border-top: 4px solid #fa6900;}.corporate--product-category--products--item--list {padding: 0;}.corporate--product-category--products--item--list-item {background-color: #fafafa;border-radius: 0.25rem;margin-bottom: 0.5rem;font-weight: bold;box-shadow: 0 0 6px -2px rgba(0, 0, 0, 0.3);}.corporate--product-category--products--item--list-link {color: #006ece;margin-bottom: 0;margin-top: 0;padding: 1rem;text-decoration: none;display: inline-flex;justify-content: center;align-items: center;display: flex;justify-content: space-between;}.corporate--product-category--products--item--list-link:hover {color: #2a9cff;}.corporate--product-category--products--item--list-link:hover:after {filter: brightness(130%);}.corporate--product-category--products--item--list-link:after {content: "";width: 1rem;height: 1rem;background-image: url("data:image/svg+xml,%0A%3Csvg viewBox='0 0 6 9' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M.848.001c.182.022.352.1.489.226l3.605 3.606a.833.833 0 01.001 1.112L1.336 8.552c-.22.198-.543.296-.838.172-.477-.201-.639-.898-.285-1.294l3.041-3.041C2.199 3.334.965 2.41.104 1.212-.189.783.168.057.791.001a.542.542 0 01.057 0z' fill='%23006ece'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: 100% 75%;background-size: 0.5rem;}.corporate--product-category--products--item--link {text-transform: uppercase;color: #eeeeee;margin-bottom: 0;margin-top: 0;padding: 1.5rem 0 0;text-decoration: none;display: inline-flex;justify-content: center;align-items: center;align-items: flex-start;font-weight: bold;}.corporate--product-category--products--item--link:hover {color: #f3f3f3;}.corporate--product-category--products--item--link:hover:after {filter: brightness(130%);}.corporate--product-category--products--item--link:after {content: "";width: 1rem;height: 1rem;background-image: url("data:image/svg+xml,%0A%3Csvg viewBox='0 0 6 9' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M.848.001c.182.022.352.1.489.226l3.605 3.606a.833.833 0 01.001 1.112L1.336 8.552c-.22.198-.543.296-.838.172-.477-.201-.639-.898-.285-1.294l3.041-3.041C2.199 3.334.965 2.41.104 1.212-.189.783.168.057.791.001a.542.542 0 01.057 0z' fill='%23fff'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: 100% 75%;background-size: 0.5rem;}.corporate--product-category--products--item--link:hover {color: white;}.corporate--product-category--relateds-links--container {background-color: #005198;padding: 5rem 2rem;}@media (max-width: 479px) {.corporate--product-category--relateds-links--container {padding: 2rem 0;}}.corporate--product-category--relateds-links {text-align: center;}.corporate--product-category--relateds-links--heading {color: #ffffff;display: block;margin-bottom: 1rem;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;background: initial;line-height: inherit;text-transform: uppercase;}.corporate--product-category--relateds-links--links-list {padding: 0;margin: 0;display: flex;flex-direction: row;justify-content: space-around;flex-wrap: wrap;}.corporate--product-category--relateds-links--links-list-item {list-style-type: none;width: 22%;display: flex;flex-direction: column;flex: 1 0 auto;margin: 10px 20px;}@media (max-width: 959px) {.corporate--product-category--relateds-links--links-list-item {width: 40%;}}.corporate--product-category--relateds-links--link {font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;color: #006ece;margin-bottom: 0;margin-top: 0;padding: 1rem 1.5rem;text-decoration: none;display: flex;flex-direction: column;flex: 1 0 auto;justify-content: center;box-shadow: 0 0 6px -2px rgba(0, 0, 0, 0.3);background-color: #ffffff;word-wrap: break-word;}.corporate--product-category--relateds-links--link:hover {color: #2a9cff;}.corporate--product-category--relateds-links--link:hover:after {filter: brightness(130%);}.corporate--product-category--form-budget--container {margin: auto;text-align: center;background: #eeeeee;padding: 0.5rem;}@media (min-width: 960px) {.corporate--product-category--form-budget--container {padding: 0 2rem;max-width: 1400px;margin: auto;}}.corporate--product-category--form-budget--button {background: #0070d3;border-radius: 0.4rem;border: none;color: #ffffff;cursor: pointer;padding: 1rem 2rem;text-decoration: none;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;display: inline-block;float: left;clear: both;}.corporate--product-category--form-budget--button:hover {background-color: #0188ff;transition: all 0.4s ease;color: #ffffff;}.corporate--product-category--form-budget--button:active {background: #002c54;color: #ffffff;}.corporate--product-category--form-budget select, .corporate--product-category--form-budget textarea, .corporate--product-category--form-budget [type=text], .corporate--product-category--form-budget [type=password], .corporate--product-category--form-budget [type=date], .corporate--product-category--form-budget [type=datetime], .corporate--product-category--form-budget [type=datetime-local], .corporate--product-category--form-budget [type=month], .corporate--product-category--form-budget [type=week], .corporate--product-category--form-budget [type=email], .corporate--product-category--form-budget [type=number], .corporate--product-category--form-budget [type=search], .corporate--product-category--form-budget [type=tel], .corporate--product-category--form-budget [type=time], .corporate--product-category--form-budget [type=url], .corporate--product-category--form-budget [type=color], .corporate--product-category--form-budget--textbox--textarea {display: block;width: 100%;height: 3.2rem;margin: 0;border: solid 0.125rem rgba(255, 255, 255, 0);border-radius: 0.25rem;background-color: #fff;box-shadow: none;font-size: 1rem;-webkit-transition: border-color 0.3s, color 0.3s, background-color 0.3s;transition: border-color 0.3s, color 0.3s, background-color 0.3s;resize: vertical;font-family: "Lato", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: 400;padding: 0rem 1.25rem;line-height: 1rem;}.corporate--product-category--form-budget textarea, .corporate--product-category--form-budget--textbox--textarea {padding: 1rem 1.25rem;height: 4.3rem;}@media (max-width: 479px) {.corporate--product-category--form-budget textarea, .corporate--product-category--form-budget--textbox--textarea {height: 8rem;}}.corporate--product-category--form-budget select:focus, .corporate--product-category--form-budget textarea:focus, .corporate--product-category--form-budget [type=text]:focus, .corporate--product-category--form-budget [type=password]:focus, .corporate--product-category--form-budget [type=date]:focus, .corporate--product-category--form-budget [type=datetime]:focus, .corporate--product-category--form-budget [type=datetime-local]:focus, .corporate--product-category--form-budget [type=month]:focus, .corporate--product-category--form-budget [type=week]:focus, .corporate--product-category--form-budget [type=email]:focus, .corporate--product-category--form-budget [type=number]:focus, .corporate--product-category--form-budget [type=search]:focus, .corporate--product-category--form-budget [type=tel]:focus, .corporate--product-category--form-budget [type=time]:focus, .corporate--product-category--form-budget [type=url]:focus, .corporate--product-category--form-budget [type=color]:focus, .corporate--product-category--form-budget--textbox--textarea:focus {outline: none;border: 2px solid #468847;background-color: #fff;box-shadow: none;-webkit-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;transition: box-shadow 0.5s, border-color 0.25s ease-in-out;}.corporate--product-category--form-budget {padding: 0;max-width: 1400px;margin: auto;}.corporate--product-category--form-budget--title {color: #000000;display: block;margin-bottom: 0;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;background: initial;line-height: inherit;text-transform: uppercase;font-size: 1rem;}@media (min-width: 960px) {.corporate--product-category--form-budget--title {font-size: 1.75rem;}}.corporate--product-category--form-budget--subtitle {color: #555555;display: block;margin-bottom: 1rem;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: normal;background: initial;line-height: inherit;}.corporate--product-category--form-budget--row {margin-right: auto;margin-left: auto;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-flow: row wrap;flex-flow: row wrap;max-width: none;justify-content: space-between;}#upload-btn, .corporate--product-category--form-budget--attach-button {background: #C09853;border-radius: 0.4rem;border: none;color: #ffffff;cursor: pointer;padding: 0.75rem;text-decoration: none;display: inline-block;}#upload-btn:hover, .corporate--product-category--form-budget--attach-button:hover {background-color: #c9a76d;transition: all 0.4s ease;color: #ffffff;}#upload-btn:active, .corporate--product-category--form-budget--attach-button:active {background: #6c5328;color: #ffffff;}.corporate--product-category--form-budget--condition {background: initial;font-size: medium;color: #222222;margin-top: 0.3rem;margin-bottom: 0;}@media print, screen and (min-width: 48em) {.corporate--product-category--form-budget--row:last-child {margin-bottom: 0;}}.corporate--product-category--form-budget--column {-webkit-box-flex: 1;-ms-flex: 1 1 0;flex: 1 1 0;min-width: initial;}.corporate--product-category--form-budget--column--small {min-width: initial;-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}@media print, screen and (min-width: 48em) {.corporate--product-category--form-budget--column--small {-webkit-box-flex: 0;-ms-flex: 0 0 49%;flex: 0 0 49%;max-width: 49%;}}@media print, screen and (min-width: 64em) {.corporate--product-category--form-budget--form--column--small:first-child {padding-right: 2.7rem;}}.corporate--product-category--form-budget--form--column--small:first-child {padding-right: 0;}.corporate--product-category--form-budget--textbox {position: relative;display: block;margin-bottom: 0.65rem;width: 100%;text-align: left;}.corporate--product-category--form-budget--textbox--input {display: block;margin: 0;border: solid 0.125rem rgba(255, 255, 255, 0);border-radius: 0.25rem;padding: 1rem 1.25rem;width: 100%;height: 3.2rem;font-weight: 400;font-size: 1rem;line-height: 1rem;-webkit-transition: border-color 0.3s, color 0.3s, background-color 0.3s;transition: border-color 0.3s, color 0.3s, background-color 0.3s;border-color: #e1e8ee;background-color: #fff;}.corporate--product-category--form-budget--textbox--input::-webkit-input-placeholder, .corporate--product-category--form-budget--textbox--input:-ms-input-placeholder, .corporate--product-category--form-budget--textbox--input::placeholder {color: #999999;opacity: 1;-webkit-transition: opacity 0.3s;transition: opacity 0.3s;}.corporate--product-category--form-budget--textbox--input::-moz-selection, .corporate--product-category--form-budget--textbox--input::selection {background-color: rgba(0, 0, 0, 0.5);}.corporate--product-category--form-budget--textbox--input:focus, .corporate--product-category--form-budget--textbox--input:hover {border-color: #bdc6cf !important;background-color: #fff;}.corporate--product-category--form-budget--textbox--input:focus::-webkit-input-placeholder, .corporate--product-category--form-budget--textbox--input:focus:-ms-input-placeholder, .corporate--product-category--form-budget--textbox--input:focus::placeholder {opacity: 0.1;}textarea.corporate--product-category--form-budget--textbox--input {resize: vertical;}.corporate--product-category--form-budget--email--text {display: block;margin-bottom: 1rem;font-weight: 400;font-size: 1rem;line-height: 1.5625rem;}.corporate--product-category--form-budget--email--link {text-decoration: none;cursor: pointer;display: inline-block;border-bottom: solid 0.0625rem #e1e8ee;color: #5e6977;-webkit-transition: color 0.3s;transition: color 0.3s;font-weight: 300;font-size: 1rem;line-height: 1.5625rem;}@media print, screen and (min-width: 48em) {.corporate--product-category--form-budget--email--link {font-size: 1.25rem;line-height: 1.875rem;}}@media print, screen and (min-width: 64em) {.corporate--product-category--form-budget--email--link {font-size: 1.375rem;line-height: 2rem;}}@media screen and (min-width: 75em) {.corporate--product-category--form-budget--email--link {font-size: 1.375rem;line-height: 2rem;}}.corporate--product-category--form-budget--email--link:focus, .corporate--product-category--form-budget--email--link:hover {color: #43484d;}.corporate--product-category--form-budget .corporate--product-category--form-budget--textbox--input:focus {border-color: #7dc855 !important;}.corporate--product-category--phone-contact-info--container {text-align: center;padding: 5rem 2rem;background: #0070d3;}@media (max-width: 479px) {.corporate--product-category--phone-contact-info--container {padding: 2rem 1rem;}}.corporate--product-category--phone-contact-info--item-heading {color: #ffffff;display: block;margin-bottom: 1rem;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;background: initial;line-height: inherit;}.corporate--product-category--phone-contact-info--item-heading-phone {text-decoration: none;margin: 0;padding: 0;color: #ffffff;}@media (max-width: 479px) {.corporate--product-category--phone-contact-info--item-heading-phone {cursor: pointer;background: #fa6900;border-radius: 5px;display: inline-block;padding: 1.2rem 2rem;}}.corporate--product-category--phone-contact-info--item-content {color: #ffffff;margin-bottom: 1rem;}.corporate--product-category--phone-contact-info--item-link {background: #f56d24;border-radius: 0.4rem;border: none;color: #ffffff;cursor: pointer;padding: 1.75rem;text-decoration: none;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;display: inline-block;}.corporate--product-category--phone-contact-info--item-link:hover {background-color: #f78345;transition: all 0.4s ease;color: #ffffff;}.corporate--product-category--phone-contact-info--item-link:active {background: #933807;color: #ffffff;}.corporate--product-category--best-practices-info--container {background: #fafafa;padding: 5rem 2rem;}@media (max-width: 479px) {.corporate--product-category--best-practices-info--container {padding: 2rem 1rem;}}.corporate--product-category--best-practices-info {text-align: center;}.corporate--product-category--best-practices-info--item-image {max-width: 50%;width: 50%;margin-bottom: 1rem;}@media (max-width: 959px) {.corporate--product-category--best-practices-info--item-image {max-width: 100%;width: 100%;margin-bottom: 1rem;}}.corporate--product-category--best-practices-info--item-heading {color: #000000;display: block;margin-bottom: 1rem;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;background: initial;line-height: inherit;}.corporate--product-category--best-practices-info--item-link {background: #0070d3;border-radius: 0.4rem;border: none;color: #ffffff;cursor: pointer;padding: 1.75rem;text-decoration: none;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;display: inline-block;}.corporate--product-category--best-practices-info--item-link:hover {background-color: #0188ff;transition: all 0.4s ease;color: #ffffff;}.corporate--product-category--best-practices-info--item-link:active {background: #002c54;color: #ffffff;}.corporate--product-category--best-practices-info--item-content {background: initial;max-width: calc(1400px - 20%);margin: 0 auto 1.5rem;}.corporate--product-category--quote-info--container {text-align: center;padding: 5rem 2rem;background: #0070d3;}@media (max-width: 479px) {.corporate--product-category--quote-info--container {padding: 2rem 1rem;}}.corporate--product-category--quote-info--item-heading {color: #ffffff;display: block;margin-bottom: 1rem;margin-top: 0;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;background: initial;line-height: inherit;}.corporate--product-category--quote-info--item-heading-phone {text-decoration: none;margin: 0;padding: 0;color: #ffffff;}@media (max-width: 479px) {.corporate--product-category--quote-info--item-heading-phone {cursor: pointer;background: #fa6900;border-radius: 5px;display: inline-block;padding: 1.2rem 2rem;}}.corporate--product-category--quote-info--item-content {color: #ffffff;margin-bottom: 1rem;}.corporate--product-category--quote-info--item-link {background: #f56d24;border-radius: 0.4rem;border: none;color: #ffffff;cursor: pointer;padding: 1.75rem;text-decoration: none;font-family: "Raleway", "Helvetica Neue", Arial, Helvetica, sans-serif;font-weight: bold;display: inline-block;}.corporate--product-category--quote-info--item-link:hover {background-color: #f78345;transition: all 0.4s ease;color: #ffffff;}.corporate--product-category--quote-info--item-link:active {background: #933807;color: #ffffff;}
73 </style>
74
75 <div class="corporate--product-category--products">
76 <div class="corporate--product-category--products--container">
77 <ul class="corporate--product-category--products--list">
78 <#list catProds as rp >
79 <#assign journalArticle = rp.getJournalArticle() />
80 <#-- Para que en el listado de articulos no aparezca el mismo desde el que se hace la llamada -->
81 <#if (article.getArticleId() != journalArticle.getArticleId()) >
82 <li class="corporate--product-category--products--item" style="padding:0">
83 <#assign journalArticleValues = mlxJournalHelperService.getStructureFieldValues(journalArticle, locale) />
84 <#assign title = journalArticleValues["name"]!"" />
85 <#if ("${title!}" == "") >
86 <#assign title = journalArticle.getTitle(locale) />
87 </#if>
88
89 <#if landingData?has_content> <!-- Si es landingSEM itero y reemplazo según nº de targetText -->
90 <#if (targetTextLanding?has_content) && (replaceTextLanding?has_content)>
91 <#list targetTextLanding as target>
92 <#if replaceTextLanding?is_enumerable == true>
93 <#assign title = title?replace(target.targetText,replaceTextLanding[target?index].replaceText) />
94 <#else>
95 <#assign title = title?replace(target.targetText,replaceTextLanding.replaceText) />
96 </#if>
97 </#list>
98 </#if>
99 </#if>
100
101
102 <#assign product_master = mlxMastersHelperService.getMasterNameByJournalArticle(journalArticle) />
103 <#if (journalArticle.getDDMStructure().getStructureKey() == productCategoryStrKey) >
104 <#assign description = journalArticleValues["description"]!"" />
105 <#assign imageObj = journalArticleValues["imageFieldSet"]!"" />
106 <#assign imageObj = (imageObj.image?eval)!"" />
107 <#else>
108 <#assign description = journalArticleValues["list_description"]!"" />
109 <#assign imageObj = journalArticleValues["list_imageFieldSet"]!"" />
110 <#assign imageObj = (imageObj.list_image?eval)!"" />
111 </#if>
112
113 <#if landingData?has_content> <!-- Si es landingSEM itero y reemplazo según nº de targetText -->
114 <#if (targetTextLanding?has_content) && (replaceTextLanding?has_content)>
115 <#list targetTextLanding as target>
116 <#if replaceTextLanding?is_enumerable == true>
117 <#assign description = description?replace(target.targetText,replaceTextLanding[target?index].replaceText) />
118 <#else>
119 <#assign description = description?replace(target.targetText,replaceTextLanding.replaceText) />
120 </#if>
121 </#list>
122 </#if>
123 </#if>
124
125 <article class="corporate--product-category--products--item--card">
126
127 <figure class="corporate--product-category--products--item--figure">
128
129 <#assign image = mlxDocumentsHelperService.getDocumentUrlFromUUID(imageObj.uuid, "${locale}")!"" />
130
131 <#if imageObj.uuid?has_content >
132 <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(imageObj.uuid, globalGroupId) />
133 <#assign docUrl = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentUrl",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/>
134 <#if docUrl == ''>
135 <#assign imgUrl = image />
136 <#else>
137 <#assign imgUrl = cdn + docUrl + "." + fileEntry.getVersion() + "." + fileEntry.getExtension() />
138 </#if>
139
140 <#assign imgWidth = '320'>
141 <#assign imgTitle = title>
142 <#assign imgAlt = title>
143 <#assign imgClass = 'corporate--product-category--products--item--image'>
144 <#assign urlParamConcat = imgUrl?contains("?")?then("&","?")>
145 ${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', false,
146 'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"'
147 'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +
148 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w,' +
149 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 1024w"')}
150 </#if>
151 </figure>
152 <div class="corporate--product-category--products--item--wrapper">
153 <#assign pageinfo = mlxUrlUtilService.getUrlByJournalArticle(journalArticle, locale, groupId)?string />
154
155 <a href="${pageinfo}" title="${title}" class="" style="text-decoration:none;color:inherit" data-content-master="${product_master}" data-content-structure="${journalArticle.getDDMStructure().getStructureKey()}">
156
157 <h2 class="corporate--product-category--products--item--heading">
158 ${title}
159 </h2>
160
161 </a>
162
163
164 <#if (journalArticle.getDDMStructure().getStructureKey() == productStrKey) || (catId == whsCatId) >
165 <p class="corporate--product-category--products--subheading">${description}</p>
166 <#else>
167
168 <#if rp.getChilds()?has_content >
169
170 <ul class="corporate--product-category--products--item--list">
171
172 <#assign childsJa = [] >
173
174 <#list rp.getChilds() as prod >
175 <#assign prodJa = prod.getJournalArticle() />
176 <#assign prodJaOrder = mlxJournalHelperService.getStructureFieldValue(prodJa, "order", locale) />
177
178 <#assign prodObjJa = {"order": prodJaOrder, "ja": prodJa} />
179
180 <#assign childsJa = childsJa + [prodObjJa] >
181 </#list>
182
183 <#list childsJa?sort_by("order") as item >
184 <#assign ja = item.ja >
185 <#assign product_master = mlxMastersHelperService.getMasterNameByJournalArticle(ja) />
186 <#assign pageinfo = mlxUrlUtilService.getUrlByJournalArticle(ja, locale, groupId)?string />
187 <#assign title = mlxJournalHelperService.getStructureFieldValue(ja, "name", locale) />
188 <#if ("${title!}" == "") >
189 <#assign title = ja.getTitle(locale) />
190 </#if>
191
192 <#if landingData?has_content> <!-- Si es landingSEM itero y reemplazo según nº de targetText -->
193 <#if (targetTextLanding?has_content) && (replaceTextLanding?has_content)>
194 <#list targetTextLanding as target>
195 <#if replaceTextLanding?is_enumerable == true>
196 <#assign title = title?replace(target.targetText,replaceTextLanding[target?index].replaceText) />
197 <#else>
198 <#assign title = title?replace(target.targetText,replaceTextLanding.replaceText) />
199 </#if>
200 </#list>
201 </#if>
202 </#if>
203
204 <li class="corporate--product-category--products--item--list-item">
205 <h2 style="margin:0;font-size:initial">
206 <a href="${pageinfo}" title='${title}' class="corporate--product-category--products--item--list-link" data-content-master="${product_master}" data-content-structure="${ja.getDDMStructure().getStructureKey()}">
207 ${title}
208 </a>
209 </h2>
210 </li>
211 </#list>
212
213 </ul>
214 <#else>
215 <p class="corporate--product-category--products--item--subheading">${description}</p>
216 </#if>
217
218
219 </div>
220
221
222
223 <#-- TODO: Actualizar código cuando se aplique en PRE (https://jira.mecalux.com/browse/CORPO-8507)
224
225 <#if rp.getChilds()?has_content >
226
227 <ul class="corporate--product-category--products--relateds">
228
229 <#list rp.getChilds() as prod >
230 <#assign ja = prod.getJournalArticle() />
231 <#assign product_master = mlxMastersHelperService.getMasterNameByJournalArticle(ja) />
232 <#assign pageinfo = mlxUrlUtilService.getUrlByJournalArticle(ja, locale, groupId)?string />
233 <#assign title = mlxJournalHelperService.getStructureFieldValue(ja, "name", locale) />
234 <#if ("${title!}" == "") >
235 <#assign title = ja.getTitle(locale) />
236 </#if>
237 <li class="corporate--product-category--products--relateds-item">
238 <a href="${pageinfo}" title='${title}' class="corporate--product-category--products--relateds-link" data-content-master="${product_master}" data-content-structure="${ja.getDDMStructure().getStructureKey()}">
239 <h3 class="corporate--product-category--products--relateds-link-title">${title}</h3>
240 </a>
241 </li>
242 </#list>
243
244 </ul>
245 <#else>
246 <p class="corporate--product-category--products--item--subheading">${description}</p>
247 </#if>
248
249 -->
250
251 </article>
252
253 </#if>
254
255 </li>
256 </#if>
257
258 </#list>
259 </div>
260 </div>
261
262 </div>
263
264 <#else>
265
266 <div class="corporate--product-category--products--container">
267 <div class="corporate--product-category--products">
268 <#list catProds as rp >
269 <#assign journalArticle = rp.getJournalArticle() />
270 <#-- Para que en el listado de articulos no aparezca el mismo desde el que se hace la llamada -->
271 <#if (article.getArticleId() != journalArticle.getArticleId()) >
272 <article class="corporate--product-category--products--item">
273 <#assign pageinfo = mlxUrlUtilService.getUrlByJournalArticle(journalArticle, locale, groupId)?string />
274 <#assign journalArticleValues = mlxJournalHelperService.getStructureFieldValues(journalArticle, locale) />
275 <#assign title = journalArticleValues["name"]!"" />
276 <#if ("${title!}" == "") >
277 <#assign title = journalArticle.getTitle(locale) />
278 </#if>
279
280 <#if (landingData?has_content) && (targetTextLanding?has_content)> <!-- Si es landingSEM itero y reemplazo nºveces el targetText -->
281 <#if targetTextLanding?is_enumerable>
282 <#list targetTextLanding as text>
283 <#assign title = title?replace(text,replaceTextLanding[text?index].replaceText) />
284 </#list>
285 <#else> <!-- En caso de 1 solo targetText -->
286 <#assign title = title?replace(targetTextLanding,replaceTextLanding.replaceText)/>
287 </#if>
288 </#if>
289
290
291 <#assign product_master = mlxMastersHelperService.getMasterNameByJournalArticle(journalArticle) />
292
293 <#if (journalArticle.getDDMStructure().getStructureKey() == productCategoryStrKey) >
294 <#assign description = journalArticleValues["description"]!"" />
295 <#assign imageObj = journalArticleValues["imageFieldSet"]!"" />
296 <#assign imageObj = (imageObj.image?eval)!"" />
297 <#else>
298 <#assign description = journalArticleValues["list_description"]!"" />
299 <#assign imageObj = journalArticleValues["list_imageFieldSet"]!"" />
300 <#assign imageObj = (imageObj.list_image?eval)!"" />
301 </#if>
302
303 <#if (landingData?has_content) && (targetTextLanding?has_content)> <!-- Si es landingSEM itero y reemplazo nºveces el targetText -->
304 <#if targetTextLanding?is_enumerable>
305 <#list targetTextLanding as text>
306 <#assign description = description?replace(text,replaceTextLanding[text?index].replaceText) />
307 </#list>
308 <#else> <!-- En caso de 1 solo targetText -->
309 <#assign description = description?replace(targetTextLanding,replaceTextLanding.replaceText)/>
310 </#if>
311 </#if>
312
313 <a href="${pageinfo}" title="${title}" class="corporate--product-category--products--link" data-content-master="${product_master}" data-content-structure="${journalArticle.getDDMStructure().getStructureKey()}">
314 <figure class="corporate--product-category--products--figure">
315
316 <#assign image = mlxDocumentsHelperService.getDocumentUrlFromUUID(imageObj.uuid, "${locale}")!"" />
317 <#if imageObj.uuid?has_content >
318 <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(imageObj.uuid, globalGroupId) />
319 <#assign docUrl = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentUrl",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/>
320 <#if docUrl == ''>
321 <#assign imgUrl = image />
322 <#else>
323 <#assign imgUrl = cdn + docUrl + "." + fileEntry.getVersion() + "." + fileEntry.getExtension() />
324 </#if>
325
326 <#assign imgWidth = '320'>
327 <#assign imgTitle = title>
328 <#assign imgAlt = title>
329 <#assign imgClass = 'corporate--product-category--products--image'>
330 <#assign urlParamConcat = imgUrl?contains("?")?then("&","?")>
331 ${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', false,
332 'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"'
333 'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +
334 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w,' +
335 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 1024w"')}
336 </#if>
337 </figure>
338 <h2 class="corporate--product-category--products--heading">
339 ${title}
340 </h2>
341 </a>
342
343 <#if (journalArticle.getDDMStructure().getStructureKey() == productStrKey) || (catId == whsCatId) >
344 <p class="corporate--product-category--products--subheading">${description}</p>
345 <#else>
346
347 <#if rp.getChilds()?has_content >
348
349 <ul class="corporate--product-category--products--relateds">
350
351 <#assign childsJa = [] >
352
353 <#list rp.getChilds() as prod >
354 <#assign prodJa = prod.getJournalArticle() />
355 <#assign prodJaOrder = mlxJournalHelperService.getStructureFieldValue(prodJa, "order", locale) />
356
357 <#assign prodObjJa = {"order": prodJaOrder, "ja": prodJa} />
358
359 <#assign childsJa = childsJa + [prodObjJa] >
360 </#list>
361
362 <#list childsJa?sort_by("order") as item >
363 <#assign ja = item.ja >
364 <#assign product_master = mlxMastersHelperService.getMasterNameByJournalArticle(ja) />
365 <#assign pageinfo = mlxUrlUtilService.getUrlByJournalArticle(ja, locale, groupId)?string />
366 <#assign title = mlxJournalHelperService.getStructureFieldValue(ja, "name", locale) />
367 <#if ("${title!}" == "") >
368 <#assign title = ja.getTitle(locale) />
369 </#if>
370
371 <#if (landingData?has_content) && (targetTextLanding?has_content)> <!-- Si es landingSEM itero y reemplazo según nº de targetText -->
372 <#if targetTextLanding?is_enumerable == true>
373 <#list targetTextLanding as text>
374 <#assign title = title?replace(text,replaceTextLanding[text?index].replaceText) />
375 </#list>
376 <#else>
377 <#assign title = title?replace(targetTextLanding,replaceTextLanding.replaceText) />
378 </#if>
379 </#if>
380
381 <li class="corporate--product-category--products--relateds-item">
382 <a href="${pageinfo}" title='${title}' class="corporate--product-category--products--relateds-link" data-content-master="${product_master}" data-content-structure="${ja.getDDMStructure().getStructureKey()}">
383 <h3 class="corporate--product-category--products--relateds-link-title">${title}</h3>
384 </a>
385 </li>
386 </#list>
387
388 </ul>
389 <#else>
390 <p class="corporate--product-category--products--item--subheading">${description}</p>
391 </#if>
392
393
394
395 <#-- TODO: Actualizar código cuando se aplique en PRE (https://jira.mecalux.com/browse/CORPO-8507)
396
397 <#if rp.getChilds()?has_content >
398
399 <ul class="corporate--product-category--products--relateds">
400
401 <#list rp.getChilds() as prod >
402 <#assign ja = prod.getJournalArticle() />
403 <#assign product_master = mlxMastersHelperService.getMasterNameByJournalArticle(ja) />
404 <#assign pageinfo = mlxUrlUtilService.getUrlByJournalArticle(ja, locale, groupId)?string />
405 <#assign title = mlxJournalHelperService.getStructureFieldValue(ja, "name", locale) />
406 <#if ("${title!}" == "") >
407 <#assign title = ja.getTitle(locale) />
408 </#if>
409 <li class="corporate--product-category--products--relateds-item">
410 <a href="${pageinfo}" title='${title}' class="corporate--product-category--products--relateds-link" data-content-master="${product_master}" data-content-structure="${ja.getDDMStructure().getStructureKey()}">
411 <h3 class="corporate--product-category--products--relateds-link-title">${title}</h3>
412 </a>
413 </li>
414 </#list>
415
416 </ul>
417 <#else>
418 <p class="corporate--product-category--products--item--subheading">${description}</p>
419 </#if>
420
421 -->
422
423
424
425 </#if>
426 </article>
427 </#if>
428
429 </#list>
430 </div>
431 </div>
432
433 </#if>
434
435 </#if>
436
437
438
439 <!--MKTG-1262 custom productCategory relateds-->
440
441 <style>.corporate--software-solucion-compleja--cases--title{font-size: 2.25rem;}.corporate--software-solucion-compleja--cases {background-color: #333;color: #fafafa;overflow: hidden;padding-bottom: 2rem;padding-bottom: 0 }.corporate--software-solucion-compleja--cases .tns-outer {position: relative }.corporate--software-solucion-compleja--cases .tns-item {display: inline-flex !important }.corporate--software-solucion-compleja--cases .tns-item>img {width: 100% }.corporate--software-solucion-compleja--cases .tns-nav {position: absolute;width: 100%;text-align: center }.corporate--software-solucion-compleja--cases .tns-nav button {border: 2px solid #999;background-color: transparent !important;margin: .4rem;padding: .35rem;border-radius: 1rem;outline: none }.corporate--software-solucion-compleja--cases .tns-nav button.tns-nav-active {border: 2px solid #fa6900;background-color: #fa6900 !important }.corporate--software-solucion-compleja--cases--container {max-width: 1400px;margin: 0 auto;width: 100%;padding: 4rem 7rem }@media(max-width: 959px) {.corporate--software-solucion-compleja--cases--container {padding:3rem }}@media(max-width: 479px) {.corporate--software-solucion-compleja--cases--container {padding:2rem 1rem }}.corporate--software-solucion-compleja--cases--item {display: flex;flex-wrap: wrap }@media(max-width: 959px) {.corporate--software-solucion-compleja--cases--item {flex-direction:column;padding-bottom: 3rem }}.corporate--software-solucion-compleja--cases--item:not(:first-child):not(.tns-item) {display: none }.corporate--software-solucion-compleja--cases--info {flex: 1;padding-right: 3rem;padding-bottom: 4rem;text-decoration: none;color: inherit }@media(max-width: 959px) {.corporate--software-solucion-compleja--cases--info {width:100%;order: 3;flex: auto;padding-right: 0 }}.corporate--software-solucion-compleja--cases--title {color: #fafafa;display: block;margin-bottom: 2rem;margin-top: 0;font-family: "Raleway","Helvetica Neue",Arial,Helvetica,sans-serif;font-weight: bold;text-transform: uppercase;background: initial;line-height: inherit }.corporate--software-solucion-compleja--cases--title:before {content: " ";display: flex;padding-top: .7rem;width: 75px;border-top: 8px solid #fa6900 }.corporate--software-solucion-compleja--cases--item-title {color: #fafafa;display: block;margin-bottom: 1rem;margin-top: 0;font-family: "Raleway","Helvetica Neue",Arial,Helvetica,sans-serif;font-weight: bold;background: initial;line-height: inherit }.corporate--software-solucion-compleja--cases--item-title:before {content: " ";display: flex;padding-top: .7rem;width: 40px;border-top: 2px solid #fafafa }.corporate--software-solucion-compleja--cases--item-subtitle {color: #fa6900;display: block;margin-bottom: 1rem;margin-top: 0;font-family: "Raleway","Helvetica Neue",Arial,Helvetica,sans-serif;font-weight: bold;background: initial;line-height: inherit }.corporate--software-solucion-compleja--cases--item-link {display: inline-flex;justify-content: center;align-items: center;color: #fa6900;margin-bottom: 0;margin-top: 0;padding: 0;text-decoration: none }.corporate--software-solucion-compleja--cases--item-link:after {content: "";width: 1rem;height: 1rem;background-image: url("data:image/svg+xml,%0A%3Csvg viewBox='0 0 6 9' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M.848.001c.182.022.352.1.489.226l3.605 3.606a.833.833 0 01.001 1.112L1.336 8.552c-.22.198-.543.296-.838.172-.477-.201-.639-.898-.285-1.294l3.041-3.041C2.199 3.334.965 2.41.104 1.212-.189.783.168.057.791.001a.542.542 0 01.057 0z' fill='%23fa6900'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: 75% 75%;background-size: .35rem }.corporate--software-solucion-compleja--cases--item-link:hover {color: #ff9549 }.corporate--software-solucion-compleja--cases--item-link:hover:after {filter: brightness(130%) }.corporate--software-solucion-compleja--cases--item-link .corporate--software-solucion-compleja--cases--item-subtitle {color: #fa6900;margin-bottom: 0;margin-top: 0;padding: 0;text-decoration: none }.corporate--software-solucion-compleja--cases--item-link .corporate--software-solucion-compleja--cases--item-subtitle:hover {color: #ff9549 }.corporate--software-solucion-compleja--cases--item-link .corporate--software-solucion-compleja--cases--item-subtitle:hover:after {filter: brightness(130%) }.corporate--software-solucion-compleja--cases--thumbnail {flex: 1;position: relative }@media(max-width: 959px) {.corporate--software-solucion-compleja--cases--thumbnail {width:100%;margin-bottom: 2rem;flex: auto;padding-bottom: 56.25% }}.corporate--software-solucion-compleja--cases--thumbnail .corporate--software-solucion-compleja--cases--container-icon {position: absolute;height: 100%;width: 100%;display: flex;justify-content: center;align-items: center;cursor: pointer }.corporate--software-solucion-compleja--cases--thumbnail .corporate--software-solucion-compleja--cases--container-icon .corporate--software-solucion-compleja--cases--video-icon {z-index: 1;max-width: 5rem;height: auto;align-self: center;right: 0;left: 0;top: 0;bottom: 0;margin: auto;cursor: pointer;position: absolute }.corporate--software-solucion-compleja--cases--thumbnail .corporate--software-solucion-compleja--cases--item-image,.corporate--software-solucion-compleja--cases--thumbnail .corporate--software-solucion-compleja--cases--item-vid {width: 100%;height: 100%;object-fit: cover;position: absolute }.corporate--software-solucion-compleja--cases--viewmore {font-family: "Raleway","Helvetica Neue",Arial,Helvetica,sans-serif;font-weight: bold;text-transform: uppercase;display: inline-flex;justify-content: center;align-items: center;color: #fa6900;margin-bottom: 0;margin-top: 0;padding: 0;text-decoration: none;position: relative;z-index: 1 }.corporate--software-solucion-compleja--cases--viewmore:after {content: "";width: 1rem;height: 1rem;background-image: url("data:image/svg+xml,%0A%3Csvg viewBox='0 0 6 9' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M.848.001c.182.022.352.1.489.226l3.605 3.606a.833.833 0 01.001 1.112L1.336 8.552c-.22.198-.543.296-.838.172-.477-.201-.639-.898-.285-1.294l3.041-3.041C2.199 3.334.965 2.41.104 1.212-.189.783.168.057.791.001a.542.542 0 01.057 0z' fill='%23fa6900'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: 100% 75%;background-size: .5rem }.corporate--software-solucion-compleja--cases--viewmore:hover {color: #ff9549 }.corporate--software-solucion-compleja--cases--viewmore:hover:after {filter: brightness(130%) }.corporate--software-solucion-compleja--cases--item-image-youtube {cursor: pointer }.corporate--software-solucion-compleja--cases--figure {display: flex;width: 100%;margin: 0 }.corporate--software-solucion-compleja--cases .tns-nav {text-align: left;position: relative;margin: -3.75rem 0 .5rem -0.25rem }</style>
442
443 <#assign practicalCasesStrKey = "PRACTICAL-CASE-STR" />
444 <#assign practicalCasesRelated = mlxAssetHelperService.getRelatedArticlesByStructure(groupId, articleId, practicalCasesStrKey) />
445
446 <#if practicalCasesRelated?has_content>
447
448 <div class="corporate--software-solucion-compleja--cases">
449 <div class="corporate--software-solucion-compleja--cases--container" data-js="slider" data-js-type="tiny-slider" data-js-config='{"container": ".corporate--software-solucion-compleja--cases--slider", "navPosition": "bottom", "controls": false, "mouseDrag": true}' data-gtm-block-name="Case_Study">
450 <h3 class="corporate--software-solucion-compleja--cases--title"><@corporate.mlxlanguage key="mlx.breadcrumb.practical-cases" /></h3>
451 <div class="corporate--software-solucion-compleja--cases--slider" data-gtm-block-name="Case_Study">
452
453 <#list practicalCasesRelated as practicalCase>
454
455 <#if practicalCase?index < 4>
456
457 <#assign practicalCaseContentValues = (mlxJournalHelperService.getStructureFieldValues(practicalCase, locale))!{} />
458 <#assign practicalCaseName = (practicalCaseContentValues["name"]?string)!"" />
459 <#assign practicalCaseUrl = mlxUrlUtilService.getUrlByJournalArticle(practicalCase, "${locale}", groupId)?string />
460 <#assign practicalCaseName = (practicalCaseContentValues["name"]?string)!"" />
461 <#assign practicalCaseDescription = (practicalCaseContentValues["html_description"]?string)!"" />
462
463 <#assign clientStrKey = "CLIENT-STR" />
464 <#assign practicalCaseClient = (mlxAssetHelperService.getFirstRelatedArticle(groupId, practicalCase.articleId, clientStrKey))!"" />
465
466 <div class="corporate--software-solucion-compleja--cases--item">
467 <div class="corporate--software-solucion-compleja--cases--info">
468
469 <#if practicalCaseClient != "">
470 <#assign practicalCaseClientName = mlxJournalHelperService.getStructureFieldValue(practicalCaseClient, "name", "${locale}")?string />
471 <h3 class="corporate--software-solucion-compleja--cases--item-title">${practicalCaseClientName}</h3>
472 <#else>
473 <#assign practicalCaseClientName = practicalCaseName>
474 </#if>
475
476 <#if practicalCaseName?has_content>
477 <p class="corporate--software-solucion-compleja--cases--item-subtitle">${practicalCaseName}</p>
478 </#if>
479 <#if practicalCaseDescription?has_content>
480 <p class="corporate--software-solucion-compleja--cases--item-description">${practicalCaseDescription?truncate(350, '...')}
481 <a href="${practicalCaseUrl}" title="${practicalCaseClientName}" class="corporate--software-solucion-compleja--cases--item-link"><@corporate.mlxlanguage key="mlx.search.article.readmore" /></a>
482 </p>
483 </#if>
484
485 </div>
486
487 <#assign practicalCaseImageContent = (mlxJournalHelperService.getStructureFieldValue(practicalCase, "detail_image", "${locale}"))!{} />
488
489 <#if practicalCaseImageContent?has_content>
490 <#assign practicalCaseImage = practicalCaseImageContent?eval />
491 <#if practicalCaseImage?has_content>
492
493 <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(practicalCaseImage.uuid, globalGroupId) />
494 <#assign practicalCaseImageUrl = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentUrl",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/>
495 <#assign practicalCaseImageUrl = mlxUrlUtilService.getLRUrl(fileEntry) />
496
497 <div class="corporate--software-solucion-compleja--cases--thumbnail">
498
499 <#assign practicalCaseVideoContent = (mlxJournalHelperService.getStructureFieldValue(practicalCase, "video_gallery_file", "${locale}"))![] />
500
501 <#if practicalCaseVideoContent?has_content>
502 <#if practicalCaseVideoContent?first?has_content>
503 <#assign practicalCaseVideo= practicalCaseVideoContent?first?eval />
504
505 <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(practicalCaseVideo.uuid, globalGroupId) />
506
507 <#assign videoTitle = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentTitle",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!"" />
508 <#if (videoTitle=="") >
509 <#assign videoTitle = practicalCaseName />
510 </#if>
511
512 <#assign practicalCaseVideoUrl = mlxUrlUtilService.getLRUrl(fileEntry) />
513 <#assign youtubeEmbeddedCode = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxYoutubeEmbeddedCode",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/>
514
515 <#if youtubeEmbeddedCode?has_content>
516 <#assign htmlModalAttributes='data-fancybox="video-gallery-${practicalCase?index}" data-type="iframe" data-src="https://www.youtube.com/embed${youtubeEmbeddedCode}" data-caption="${practicalCaseName}"' />
517 <#else>
518 <#assign htmlModalAttributes='data-fancybox="video-gallery-${practicalCase?index}" data-type="html5video" data-src="${practicalCaseVideoUrl}" data-thumb="${practicalCaseImageUrl}" data-caption="${practicalCaseName}"' />
519 </#if>
520
521 <a href="#" class="corporate--software-solucion-compleja--cases--video-container" data-has-modal="true" ${htmlModalAttributes} data-gtm-event="modal" data-gtm-event-label="/Case-study/Video/${videoTitle}">
522 <figure class="corporate--software-solucion-compleja--cases--figure" >
523 <div class="corporate--software-solucion-compleja--cases--container-icon" >
524 <#assign images_folder = themeDisplay.getPathThemeImages() />
525 ${corporate.img(images_folder + '/common/th-play2.png', false,'data-role="play-btn" class="corporate--software-solucion-compleja--cases--video-icon" alt="play"')}
526 </div>
527
528 <#if practicalCaseImage.uuid?has_content >
529 <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(uuid, globalGroupId) />
530 <#assign docUrl = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentUrl",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/>
531 <#if docUrl == ''>
532 <#assign imgUrl = practicalCaseImageUrl />
533 <#else>
534 <#assign imgUrl = cdn + docUrl + "." + fileEntry.getVersion() + "." + fileEntry.getExtension() />
535 </#if>
536
537 <#assign imgWidth = '320'>
538 <#assign imgTitle = practicalCaseClientName>
539 <#assign imgAlt = practicalCaseClientName>
540 <#assign imgClass = 'corporate--software-solucion-compleja--cases--item-image corporate--software-solucion-compleja--cases--item-image-youtube'>
541 <#assign urlParamConcat = imgUrl?contains("?")?then("&","?")>
542 ${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', true,
543 'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"'
544 'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +
545 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w,' +
546 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 1024w"')}
547 </#if>
548 </figure>
549 </a>
550
551 <#else>
552
553 <figure class="corporate--software-solucion-compleja--cases--figure">
554
555 <#if practicalCaseImage.uuid?has_content >
556 <#assign fileEntry = mlxDLFileEntryHelperService.getDLFileEntry(uuid, globalGroupId) />
557 <#assign docUrl = (mlxExpandoService.getExpandoValueForClass("com.liferay.document.library.kernel.model.DLFileEntry","mlxDocumentUrl",fileEntry.getFileVersion().getFileVersionId()).getString(locale))!""/>
558 <#if docUrl == ''>
559 <#assign imgUrl = practicalCaseImageUrl />
560 <#else>
561 <#assign imgUrl = cdn + docUrl + "." + fileEntry.getVersion() + "." + fileEntry.getExtension() />
562 </#if>
563
564 <#assign imgWidth = '320'>
565 <#assign imgTitle = practicalCaseClientName>
566 <#assign imgAlt = practicalCaseClientName>
567 <#assign imgClass = 'corporate--software-solucion-compleja--cases--item-image'>
568 <#assign urlParamConcat = imgUrl?contains("?")?then("&","?")>
569 ${corporate.img(imgUrl + urlParamConcat + 'imwidth=' + imgWidth + '', true,
570 'alt="' + imgAlt + '"', 'title="' + imgTitle + '"', 'class="' + imgClass + '"'
571 'srcset="' + imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 320w,' +
572 imgUrl + urlParamConcat + 'imwidth=640&imdensity=1 640w,' +
573 imgUrl + urlParamConcat + 'imwidth=320&imdensity=1 1024w"')}
574 </#if>
575 </figure>
576
577 </#if>
578 </#if>
579
580 </div>
581
582 </#if>
583
584 </#if>
585
586
587 </div>
588
589 </#if>
590
591 </#list>
592
593 </div>
594
595 <#assign pcasesMasterId=64015 />
596 <#assign pcasesLayout=(mlxMastersHelperService.getLayoutByMasterAndGroup(pcasesMasterId,scopeGroupId)!"") />
597 <#assign pcasesUrl = pcasesLayout.getFriendlyURL() />
598 <a href="${pcasesUrl}" title='<@corporate.mlxlanguage key="mlx.practical-case.show-more" />' class="corporate--software-solucion-compleja--cases--viewmore"><@corporate.mlxlanguage key="mlx.practical-case.show-more" /></a>
599
600 </div>
601 </div>
602
603 </#if>