Canalizzabili a media prevalenza
to complete
CNT2-3-XY D15÷D160
CANALIZZABILI A MEDIA PREVALENZA
CANALIZZABILI A MEDIA PREVALENZA to complete
Plus
Plus 2
Plus 3
Refrigerante ecologico
Utilizza refrigerante amico dell'ambiente
Refrigerante
da completare
S_EasyCom
da completare
S_input-on-off
da completare
Esplora le nostre soluzioni alternative
Во время обработки запрошенного шаблона произошла ошибка...
The following has evaluated to null or missing: ==> journalArticleLocalService.fetchLatestArticle(curEntry.getClassPK()) [in template "10110#2640274#72716202" at line 46, column 65] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign innerArticle = journalArticle... [in template "10110#2640274#72716202" at line 46, column 41] ----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
2
3<style>
4 html:not(#__):not(#___) body.clivet .portlet-asset-publisher .portlet-content h2.portlet-title-text {
5 font-size: 48px;
6 font-weight: 300;
7 line-height: 130%;
8 text-align: center;
9 margin-bottom: 48px;
10 color: #000;
11 }
12 .generic-products {
13 overflow: hidden;
14 flex-wrap: nowrap !important;
15 padding-bottom: 50px;
16 }
17 .slick-arrow {
18 top: auto;
19 bottom: 0;
20 z-index: 50;
21 }
22 .slick-arrow::before {
23 color:#007CB1;
24 }
25 .slick-next {
26 left: 50%;
27 }
28 .slick-prev {
29 right: 50%;
30 left: auto;
31 }
32 .slick-dots {
33 bottom: 11px;
34 }
35</style>
36<div class="container">
37 <section class="row generic-products row-slider">
38 <#if entries?has_content>
39
40
41 <#assign dots = ((entries?size) / 3 + 0.4999)?round * 15 />
42
43
44 <#list entries as curEntry>
45 <div class="col-12 col-lg-4 generic-products-slide">
46 <#assign innerArticle = journalArticleLocalService.fetchLatestArticle(curEntry.getClassPK()) />
47 <@liferay_journal["journal-article"]
48 articleId=innerArticle.getArticleId()
49 ddmTemplateKey="72716158"
50 groupId=curEntry.getGroupId()/>
51 </div>
52 </#list>
53 </#if>
54 </section>
55</div>
56
57<#if entries?has_content>
58 <script>
59 $(document).ready(function() {
60 function initializeSlick() {
61 $('.row-slider').slick({
62 slidesToShow: 3,
63 slidesToScroll: 3,
64 autoplay: false,
65 autoplaySpeed: 2000,
66 arrows: true,
67 dots: true,
68 pauseOnHover: false,
69 responsive: [
70 {
71 breakpoint: 1100,
72 settings: {
73 slidesToShow: 3
74 }
75 },
76 {
77 breakpoint: 992,
78 settings: {
79 slidesToShow: 2
80 }
81 }
82 ]
83 });
84
85 setTimeout(function() {
86 const slickPrev = document.querySelector('.active .slick-prev');
87 const slickNext = document.querySelector('.active .slick-next');
88
89 slickPrev.style.right = `calc(50% + ${dots}px)`;
90 slickNext.style.left = `calc(50% + ${dots}px)`;
91 }, 100);
92 }
93
94 initializeSlick();
95 $('a[data-toggle="tab"]').on('shown.bs.tab', function () {
96 $('.row-slider').slick('unslick');
97 setTimeout(function() {
98 initializeSlick();
99 }, 100);
100 });
101 });
102
103 $(".slick-dots").on('click', function() {
104 if (typeof sendMeasurementEventCarouselSwap === 'function') {
105 var filterName =$(".portlet-title-text").text();
106 sendMeasurementEventCarouselSwap(filterName, 'no_type','no_type', 'no_destination');
107 } else {
108 console.error('sendMeasurementEventCarouselSwap not defined');
109 }
110 });
111 </script>
112</#if>
— 20 Предметов на странице
Hai bisogno di aiuto?
Contatta un nostro consulente per avere informazioni sul prodotto.