CEMEX CZ
  • Produkty a služby
    • Produkty
      • Beton
      • Cement
      • Kamenivo
      • Lité směsi a potěrový beton pro realizaci podlah
      • Stavební přísady Cemex Admixtures
    • Řešení
      • Podlahy
      • Pro architekty a projektanty
      • Vertua | Náš závazek udržitelným cílům
    • Služby
      • Doprava a čerpání betonu
      • Technologický servis a kvalita produktů
    • Ostatní
      • Kalkulačka betonu
      • Náš závazek zákazníkům
      • Obchodní podmínky
      • Dokumenty ke stažení
      • Referenční stavby
      • BIM knihovny CEMEX
      • Betonárny
  • Provozovny
  • Cenová nabídka
    • Poptávkové formuláře
      • Beton
      • Lité podlahy
      • Pěnobeton Poroflow
      • Cement
      • Kamenivo a písek
      • Průmyslové podlahy
  • Cemex Go
    • CEMEX Go registrace
      • Přejít do CEMEX Go
      • CEMEX Go Digitální Integrace
    • Časté dotazy
    • Bezpapírové faktury
  • Udržitelný rozvoj
    • CEMEX a životní protředí
      • Životní prostředí a biodiverzita
      • Udržitelná výstavba
      • Měříme náš pokrok
      • Strategie
    • Bezpečnost a ochrana zdraví
      • Základy bezpečnosti
      • Politika bezpečnosti práce CEMEX
      • Základy ochrany zdraví
      • Safety Annex - pro dodavatele
    • Společenská odpovědnost firmy
      • Pracujeme jako společensky odpovědná firma
      • Komunitní investiční pilíře
      • Partnerství a ocenění
      • Dobrovolnický program CEMEX UNITE
      • Naše projekty
    • Future In Action
      • Zavázáni k nulovým emisím
      • Udržitelné výrobky a řešení
      • Dekarbonizace našich operací
      • Inovace a partnerství
      • Propagace zelené ekonomiky
    • Vertua
      • Přehled
      • Projekty
      • Produkty
  • Média
    • Tiskové zprávy
      • Tiskové zprávy 2025
      • Tiskové zprávy 2024
      • Tiskové zprávy 2023
      • Tiskové zprávy 2022
      • Tiskové zprávy 2021
      • Tiskové zprávy 2020
      • Tiskové zprávy 2019
      • Tiskové zprávy 2018
      • Tiskové zprávy 2017
    • Ke stažení
      • Corporate Identity
      • Dokumenty ke stažení
      • EPD
    • Soutěže
      • Förderpreis Beton
  • Kariéra
    • Kariéra v CEMEXu
      • Proč pracovat v CEMEXU
      • Volné pozice
      • Vzdělávání a rozvoj
      • Diverzita
  • Kontakt
    • Kontaktní údaje
    • Kontaktní formulář
    • Zpětná vazba
    • Žádost o vytvoření zákaznického účtu
  • O Cemexu
    • Cemex v ČR
      • Profil společnosti CEMEX
      • Hodnoty společnosti
      • Naše vize
      • Etika našeho podnikání
      • Historie společnosti
      • Řízení kvality v CEMEXu
      • Referenční stavby CEMEX
      • Evropské dotační programy
      • Výběrové řízení
    • Dodavatelé
      • Registrujte se zde
      • Veřejné události
  • Produkty a služby
    • Produkty
      • Beton
      • Cement
      • Kamenivo
      • Lité směsi a potěrový beton pro realizaci podlah
      • Stavební přísady Cemex Admixtures
    • Řešení
      • Podlahy
      • Pro architekty a projektanty
      • Vertua | Náš závazek udržitelným cílům
    • Služby
      • Doprava a čerpání betonu
      • Technologický servis a kvalita produktů
    • Ostatní
      • Kalkulačka betonu
      • Náš závazek zákazníkům
      • Obchodní podmínky
      • Dokumenty ke stažení
      • Referenční stavby
      • BIM knihovny CEMEX
      • Betonárny
    Kalkulačka objemu betonu Kalkulačka objemu betonu
  • Provozovny
  • Cenová nabídka
    • Poptávkové formuláře
      • Beton
      • Lité podlahy
      • Pěnobeton Poroflow
      • Cement
      • Kamenivo a písek
      • Průmyslové podlahy
  • Cemex Go
    • CEMEX Go registrace
      • Přejít do CEMEX Go
      • CEMEX Go Digitální Integrace
    • Časté dotazy
    • Bezpapírové faktury
    Sledování zásilek Více o aplikaci
  • Udržitelný rozvoj
    • CEMEX a životní protředí
      • Životní prostředí a biodiverzita
      • Udržitelná výstavba
      • Měříme náš pokrok
      • Strategie
    • Bezpečnost a ochrana zdraví
      • Základy bezpečnosti
      • Politika bezpečnosti práce CEMEX
      • Základy ochrany zdraví
      • Safety Annex - pro dodavatele
    • Společenská odpovědnost firmy
      • Pracujeme jako společensky odpovědná firma
      • Komunitní investiční pilíře
      • Partnerství a ocenění
      • Dobrovolnický program CEMEX UNITE
      • Naše projekty
    • Future In Action
      • Zavázáni k nulovým emisím
      • Udržitelné výrobky a řešení
      • Dekarbonizace našich operací
      • Inovace a partnerství
      • Propagace zelené ekonomiky
    • Vertua
      • Přehled
      • Projekty
      • Produkty
    Udržitelná výstavba Udržitelná výstavba
  • Média
    • Tiskové zprávy
      • Tiskové zprávy 2025
      • Tiskové zprávy 2024
      • Tiskové zprávy 2023
      • Tiskové zprávy 2022
      • Tiskové zprávy 2021
      • Tiskové zprávy 2020
      • Tiskové zprávy 2019
      • Tiskové zprávy 2018
      • Tiskové zprávy 2017
    • Ke stažení
      • Corporate Identity
      • Dokumenty ke stažení
      • EPD
    • Soutěže
      • Förderpreis Beton
    Tiskové zprávy Tiskové zprávy
  • Kariéra
    • Kariéra v CEMEXu
      • Proč pracovat v CEMEXU
      • Volné pozice
      • Vzdělávání a rozvoj
      • Diverzita
    Volné pracovní pozice Volné pracovní pozice
  • Kontakt
    • Kontaktní údaje
    • Kontaktní formulář
    • Zpětná vazba
    • Žádost o vytvoření zákaznického účtu
    Kontaktní formulář Kontaktní formulář
  • O Cemexu
    • Cemex v ČR
      • Profil společnosti CEMEX
      • Hodnoty společnosti
      • Naše vize
      • Etika našeho podnikání
      • Historie společnosti
      • Řízení kvality v CEMEXu
      • Referenční stavby CEMEX
      • Evropské dotační programy
      • Výběrové řízení
    • Dodavatelé
      • Registrujte se zde
      • Veřejné události
    Naše vize Naše vize
  • CEMEX CZ
  • O Cemexu
  • Cemex v ČR
  • Referenční stavby CEMEX
Při zpracování šablony došlo k chybě.
The following has evaluated to null or missing:
==> webContentData.classPK  [in template "20116#20152#54247682" at line 589, column 23]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to be 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: #local classPK = webContentData.class...  [in template "20116#20152#54247682" in macro "printProductRange" at line 589, column 5]
	- Reached through: @printProductRange cur_Product  [in template "20116#20152#54247682" at line 311, column 17]
----
1<#assign sUsedProduct = "Využitý produkt"> 
2<#assign sUsedProducts = "Využití produktů"> 
3<#assign sBasicInfoAbout = "Základní informace o stavbě"> 
4<#assign sGallery = "Galerie"> 
5<#assign thumbnailWidth = 200> 
6<#assign thumbnailHeight = (thumbnailWidth / 4 * 3)?round > 
7 
8<style> 
9    .b-hero-placeholder { 
10        background-image: url(${MainImageURL.getData()}); 
11    } 
12    /* END of the style for image holder on top */ 
13 
14    .refdetail-h2 { 
15        font-weight: normal; 
16        padding-bottom: 1em; 
17    } 
18 
19    .refdetail { 
20        padding-top: 40px; 
21    } 
22 
23    .refdetail-section { 
24        padding-bottom: 40px 
25    } 
26 
27    .refdetail-h1 { 
28        padding-bottom: 1em; 
29    } 
30 
31    .refdetail-table { 
32        max-width: 100%; 
33    } 
34 
35    table.refdetail-table td { 
36        width: 50%; 
37        border: 0; 
38    } 
39 
40    .refproduct-item { 
41        display: flex; 
42        flex-direction: row; 
43        margin-bottom: 1em; 
44        /* margin-bottom: 0; */ 
45        border: 1px solid lightgray; 
46        /* border: none; */ 
47        /* padding: 0.5em 1.5em; */ 
48        padding: 1.2em 1.5em; 
49        align-items: center; 
50        min-height: calc(60px + 1em); 
51    } 
52 
53    .refproduct-item .refdetail-h3 { 
54        flex-grow: 4; 
55        padding-left: 1em; 
56    } 
57 
58    a.refproduct-btn { 
59        display: inline-block; 
60        border: 1px solid #000; 
61        color: #000; 
62        padding: 15px 36px; 
63        line-height: 1px; 
64        font-size:10px; 
65        font-weight: 900; 
66        letter-spacing: 2px; 
67        text-transform: uppercase; 
68    } 
69 
70    .refproduct-img { 
71        width: 300px; 
72        height: 40px; 
73        display: flex; 
74        align-items: center; 
75    } 
76 
77    .refproduct-img img { 
78        max-height: 100%; 
79        max-width: 100%; 
80    } 
81 
82        @media (max-width: 767px) { 
83            .refproduct-item { 
84                flex-direction: column; 
85                margin-bottom: 1em; 
86                max-height: auto; 
87            } 
88            .refproduct-img { 
89                width: auto; 
90            } 
91            .refproduct-img img { 
92                max-width: 250px!important; 
93            } 
94            .refproduct-img, 
95            .refproduct-btn, 
96            .refproduct-item .refdetail-h3 { 
97                margin-bottom: 0.5em; 
98            } 
99        } 
100 
101    .refdetail-section.refdetail-gallery:focus-visible { 
102        outline: 0; 
103    } 
104 
105    .refgal-bigimage { 
106        height: calc(50vw); 
107        background-color: aliceblue; 
108        display: flex; 
109        flex-direction: column; 
110        align-items: flex-start; 
111        justify-content: flex-end; 
112        min-height: 350px; 
113        max-height: 700px; 
114        margin-bottom: 4px; 
115        cursor: zoom-in; 
116    } 
117 
118    .refgal-stripeframe { 
119        overflow-x: scroll; 
120        overflow-y: hidden; 
121        position: relative; 
122    } 
123 
124    .refgal-stripeframe::-webkit-scrollbar { 
125        display: none; 
126    } 
127    .refgal-backimg { 
128        position: relative; 
129        background: no-repeat 50%/cover; 
130    } 
131 
132    .refgal-thumbstripe { 
133        display: flex; 
134        flex-direction: row; 
135        flex-wrap: nowrap; 
136        position: relative; 
137        transition: .5s; 
138        left: 0px; 
139    } 
140 
141    .refgal-thumbitem { 
142        height: ${thumbnailHeight}px; 
143        width: ${thumbnailWidth - 4}px; 
144        margin-right: 4px; 
145        cursor: pointer; 
146    } 
147 
148    .refgal-thumbitem.active { 
149        height: ${thumbnailHeight}px; 
150        width: ${thumbnailWidth - 4}px; 
151        border: 5px solid darkgray; 
152    } 
153 
154    .refgal-thumbitem:last-child { 
155        width: ${thumbnailWidth}px; 
156        margin-right: 0px; 
157    } 
158 
159    .refgal-thumbitem:hover { 
160        opacity: 0.5; 
161    } 
162 
163    span.refgal-bigimage-caption { 
164        background-color: rgba(255,255,255,.7); 
165        padding: 0.5em 1em; 
166        width: 100%; 
167        } 
168 
169    .refgal-controls, 
170    .refgal-controls-big { 
171        display: flex; 
172        flex-direction: row; 
173        justify-content: space-between; 
174        height: 0; 
175        align-items: center; 
176    } 
177 
178    .galcontrol { 
179        top: -${thumbnailHeight / 2}px; 
180        padding: .4em; 
181        font-size: 28px; 
182        color: white; 
183        background-color: rgba(0,0,0,0.1); 
184        cursor: pointer; 
185        position: relative; 
186    } 
187 
188    .galcontrol-big { 
189        padding: .4em; 
190        font-size: 28px; 
191        color: white; 
192        background-color: rgba(0,0,0,0.1); 
193        cursor: pointer; 
194        position: relative; 
195    } 
196 
197 
198    .fullscreen.refgal-bigimage { 
199        height: 100%; 
200        position: fixed; 
201        top: 0; 
202        background-color: rgba(0,0,0,1); 
203        display: block; 
204        min-height: 100%; 
205        max-height: 100%; 
206        margin-bottom: 0; 
207        cursor: default; 
208        left: 0; 
209        right: 0; 
210        bottom: 0; 
211        background-position: center; 
212        background-size: contain; 
213        z-index: 10001; 
214        display: flex; 
215        flex-direction: column; 
216        justify-content: space-between; 
217        } 
218 
219    .refgal-bigimage-close.fas { 
220        display: none; 
221    } 
222 
223    .fullscreen .refgal-bigimage-close { 
224        display: block; 
225        color: white; 
226        padding: 1.2em; 
227        cursor: pointer; 
228        position: relative; 
229        align-self: end; 
230        } 
231 
232    .fullscreen span.refgal-bigimage-caption { 
233        background-color: rgba(0,0,0,0.8); 
234        padding: .5em 2em; 
235        width: auto; 
236        margin-left: auto; 
237        color: white; 
238        margin-bottom: calc(5vh); 
239        margin-right: auto; 
240    } 
241 
242    .fullscreen.refgal-controls-big { 
243        display: flex; 
244        flex-direction: row; 
245        justify-content: space-between; 
246        height: 0; 
247        align-items: center; 
248        position: fixed; 
249        top: calc(50vh); 
250        left: 0; 
251        width: 100%; 
252        z-index: 10002; 
253    } 
254 
255    .fullscreen .galcontrol-big { 
256        top: 0!important; 
257    } 
258 
259    .refgal-controls .galcontrol-left, 
260    .refgal-controls-big .galcontrol-big-left, 
261    .refgal-controls .galcontrol-right, 
262    .refgal-controls-big .galcontrol-big-right { 
263        opacity: 0.3; 
264        cursor: auto; 
265    } 
266 
267    .refgal-controls.left .galcontrol-left, 
268    .refgal-controls-big.left .galcontrol-big-left, 
269    .refgal-controls.right .galcontrol-right, 
270    .refgal-controls-big.right .galcontrol-big-right { 
271        opacity: 1; 
272        cursor: pointer; 
273    } 
274 
275        /*end styles*/ 
276</style> 
277 
278<link crossorigin="anonymous" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" rel="stylesheet" /> 
279 
280<#-- setting urlHelper --> 
281<#assign curUrl = themeDisplay.getURLCurrent()?string> 
282<#if curUrl?contains(themeDisplay.getSiteGroup().friendlyURL)> 
283    <#assign urlHelper = themeDisplay.getPathFriendlyURLPublic() + themeDisplay.getSiteGroup().friendlyURL> 
284<#else> 
285    <#assign urlHelper = ""> 
286</#if> 
287<!-- urlHelper: ${urlHelper} --> 
288<#-- end setting --> 
289<#setting locale=locale.toString()> 
290<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
291 
292<div class="container refdetail"> 
293    <#-- heading --> 
294    <div class="refdetail-section refdetail-heading"> 
295        <h1 class="refdetail-h1">${Title.getData()}</h1> 
296        <p class="refdetail-p">${Description.getData()?replace("\n", "<br>")}</p> 
297    </div> 
298 
299    <#-- used products --> 
300    <#if Product.getSiblings()?has_content> 
301        <div class="refdetail-section refdetail-prudcts"> 
302            <h2 class="refdetail-h2"> 
303              <#if Product.getSiblings()?size &gt; 1> 
304                ${sUsedProducts} 
305              </#if> 
306              <#if Product.getSiblings()?size == 1> 
307                ${sUsedProduct} 
308              </#if> 
309            </h2> 
310            <#list Product.getSiblings() as cur_Product> 
311                <@printProductRange cur_Product/> 
312            </#list> 
313        </div> 
314    </#if> 
315 
316    <#-- table --> 
317    <#if Oddlovaj442.getSiblings()?has_content> 
318        <div class="refdetail-section refdetail-infotable"> 
319            <h2 class="refdetail-h2">${sBasicInfoAbout}</h2> 
320            <table class="refdetail-table"> 
321            <#list Oddlovaj442.getSiblings() as cur_row> 
322                <tr> 
323                    <td>${cur_row.Label.getData()}</td> 
324                    <td>${cur_row.Value.getData()}</td> 
325                </tr> 
326            </#list> 
327            </table> 
328        </div> 
329    </#if> 
330 
331    <#-- gallery --> 
332    <#if ImageGalleryItemURL.getSiblings()?has_content> 
333        <#assign galItems = ImageGalleryItemURL.getSiblings()?size?number> 
334        <div class="refdetail-section refdetail-gallery" id="js-gallery" tabindex="-1"> 
335            <h2 class="refdetail-h2">${sGallery}</h2> 
336                <#assign iImg = ImageGalleryItemURL.getData()> 
337                <#if ImageGalleryItemURL.getAttribute("alt")??> 
338                    <#assign iCaption = ImageGalleryItemURL.getAttribute("alt")> 
339                <#else> 
340                    <#assign iCaption = ""> 
341                </#if> 
342            <#-- big images --> 
343            <div class="refgal-bigimage refgal-backimg" style="" id="js-bigimage"> 
344                <i class="fas fa-close refgal-bigimage-close" id="js-bigimage-close"></i> 
345                <span id="js-bigimage-caption" class="refgal-bigimage-caption" style="display:none"></span> 
346            </div> 
347            <div class="refgal-controls-big" id="js-galcontrols-big"> 
348                <div> 
349                    <i class="fas fa-chevron-left galcontrol-big galcontrol-big-left" data-direction="left"></i> 
350                </div> 
351                <div> 
352                    <i class="fas fa-chevron-right galcontrol-big galcontrol-big-right" data-direction="right"></i> 
353                </div> 
354            </div> 
355            <#-- --> 
356            <#-- small images --> 
357            <div class="refgal-stripeframe" id="js-galstripe-frame"> 
358                <div class="refgal-thumbstripe" id="js-galstripe" style="width:${galItems*thumbnailWidth}px"> 
359                    <#list ImageGalleryItemURL.getSiblings() as cur_ImageGalleryItemURL> 
360                        <#assign iIndex = cur_ImageGalleryItemURL?index> 
361                        <#assign iImg = cur_ImageGalleryItemURL.getData()> 
362                        <#if cur_ImageGalleryItemURL.getAttribute("alt")??> 
363                            <#assign iCaption = cur_ImageGalleryItemURL.getAttribute("alt")> 
364                        <#else> 
365                            <#assign iCaption = ""> 
366                        </#if> 
367                        <div class="refgal-thumbitem refgal-backimg" style="background-image:URL('${iImg}');" id="js-galitem-${iIndex}" data-image="${iImg}" data-caption="${iCaption}"> 
368                        </div> 
369                    </#list> 
370                </div> 
371            </div> 
372            <div class="refgal-controls" id="js-galcontrols"> 
373                <div> 
374                    <i class="fas fa-chevron-left galcontrol galcontrol-left" data-direction="left"></i> 
375                </div> 
376                <div> 
377                    <i class="fas fa-chevron-right galcontrol galcontrol-right" data-direction="right"></i> 
378                </div> 
379            </div> 
380            <#-- --> 
381        </div> 
382 
383        <script> 
384        AUI().ready( 
385            function() { 
386 
387                var galShift = 0; 
388                var galPcs = ${galItems}; 
389                var galStep = ${thumbnailWidth}; 
390                var galStripeWidth = galPcs * galStep; 
391                var galFirst = "js-galitem-0"; 
392                var galLast = "js-galitem-"+(galPcs-1); 
393 
394                var id = function(selector) { 
395                    return "#"+selector; 
396                } 
397 
398                function checkShift() { 
399                    let frameWidth = getFrameWidth(); 
400                    if (galStripeWidth + galShift < frameWidth ) { 
401                        galShift = -1 * (galStripeWidth - frameWidth); 
402                    } 
403                    if (galShift > 0) { 
404                        galShift = 0; 
405                    } 
406                    $("#js-galstripe").css("left", galShift + "px"); 
407                } 
408 
409                function getFrameWidth() { 
410                    return $("#js-galstripe-frame").width(); 
411                } 
412 
413                function getBigImageHeight() { 
414                    return $("#js-bigimage").height(); 
415                } 
416 
417                function showControls() { 
418                    setControls(); 
419                    setBigControls(); 
420                    // chceck thumbnail controls 
421                    let frameWidth = getFrameWidth(); 
422                    if (frameWidth < galStripeWidth) { 
423                        var showIt = "flex"; 
424                    } 
425                    else { 
426                        var showIt = "none"; 
427                    } 
428                    checkShift(); 
429                    $("#js-galcontrols").css("display",showIt); 
430 
431                    //check big controls 
432                    var bigImageHeight = getBigImageHeight(); 
433                    $(".galcontrol-big").css("top", -1 * bigImageHeight / 2); 
434                } 
435 
436                function makeActive(element) { 
437                    $(".refgal-thumbitem").removeClass("active"); 
438                    $(element).addClass("active"); 
439                } 
440 
441                function changePhoto(e) { 
442 
443                    var newImage = e.target.dataset.image; 
444                    $("#js-bigimage").css("background-image", "URL('" + newImage + "')"); 
445 
446                    var newCaption = e.target.dataset.caption; 
447                    if (newCaption !== "") { 
448                        $("#js-bigimage-caption").text(newCaption); 
449                        $("#js-bigimage-caption").css("display", "block"); 
450                    } else { 
451                        $("#js-bigimage-caption").css("display", "none"); 
452                    }; 
453 
454                    makeActive(e.target); 
455                    showControls(); 
456                } 
457 
458                function scroll(e) { 
459                    var direction = e.target.dataset.direction; 
460 
461                    if (direction === "right") { 
462                        galShift = galShift - galStep; 
463                    } 
464                    else if (direction === "left") { 
465                        galShift = galShift + galStep; 
466                    } 
467                    checkShift(); 
468                    setControls(); 
469                } 
470 
471                function switchBig(e) { 
472                    var direction = e.target.dataset.direction; 
473 
474                    if (direction === "right") { 
475                        switchNext(); 
476                    } 
477                    else if (direction === "left") { 
478                        switchPrev(); 
479                    } 
480                } 
481 
482                function switchNext() { 
483                    let curr = $(".refgal-thumbitem.active"); 
484                    let next = curr.next(); 
485                    if (curr.attr('id') !== galLast) { 
486                        next.click(); 
487                    } 
488                } 
489 
490                function switchPrev() { 
491                    let curr = $(".refgal-thumbitem.active"); 
492                    let prev = curr.prev(); 
493                    if (curr.attr('id') !== galFirst) { 
494                        prev.click(); 
495                    } 
496                } 
497 
498                function setBigControls() { 
499                    // big controls 
500                    let curr = $(".refgal-thumbitem.active"); 
501                    if (curr.attr('id') === galLast) { 
502                        $("#js-galcontrols-big").removeClass("right"); 
503                    } 
504                    else { 
505                        $("#js-galcontrols-big").addClass("right"); 
506                    } 
507                    if (curr.attr('id') === galFirst) { 
508                        $("#js-galcontrols-big").removeClass("left"); 
509                    } 
510                    else { 
511                        $("#js-galcontrols-big").addClass("left"); 
512                    } 
513                } 
514 
515                function setControls() { 
516                    // stripe controls 
517                    let frameWidth = getFrameWidth(); 
518                    // console.log(galStripeWidth, galShift, frameWidth); 
519                    if (galStripeWidth + galShift === frameWidth) { 
520                        $("#js-galcontrols").removeClass("right"); 
521                    } 
522                    else { 
523                        $("#js-galcontrols").addClass("right"); 
524                    } 
525                    if (galShift === 0) { 
526                        $("#js-galcontrols").removeClass("left"); 
527                    } 
528                    else { 
529                        $("#js-galcontrols").addClass("left"); 
530                    } 
531                } 
532 
533                function goFullScreen () { 
534                    event.stopPropagation(); 
535                    $("#js-bigimage").addClass("fullscreen"); 
536                    $("#js-galcontrols-big").addClass("fullscreen"); 
537                } 
538 
539                function exitFullScreen () { 
540                    event.stopPropagation(); 
541                    $("#js-bigimage").removeClass("fullscreen"); 
542                    $("#js-galcontrols-big").removeClass("fullscreen"); 
543                } 
544 
545                function checkKey(e) { 
546                    var key = e.keyCode; 
547                    // console.log(key); 
548                    event.stopPropagation(); 
549                    if (key == 37) { 
550                        switchPrev(); 
551                    } 
552                    else if (key == 39) { 
553                        switchNext(); 
554                    } 
555                } 
556 
557 
558 
559 
560                showControls(); 
561 
562                $("#js-galstripe").click(changePhoto); 
563 
564                $(id(galFirst)).click(); 
565 
566                $("#js-galcontrols").click(scroll); 
567 
568                $("#js-galcontrols-big").click(switchBig); 
569 
570                $("#js-bigimage").click(goFullScreen); 
571 
572                $("#js-bigimage-close").click(exitFullScreen); 
573 
574                $("#js-gallery").keydown(checkKey); 
575 
576                $(window).resize(showControls); 
577 
578            }); 
579        </script> 
580 
581    </#if> 
582 
583</div> 
584 
585<#macro printProductRange product> 
586    <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
587    <#local webContentData = jsonFactoryUtil.createJSONObject(product.getData())/> 
588 
589    <#local classPK = webContentData.classPK?number!"" /> 
590    <#local journalArticle = journalArticleLocalService.getLatestArticle(classPK)!"none"> 
591    <#local journalArticleId = journalArticle.getId() /> 
592    <#local urlTitle=journalArticle.urlTitle /> 
593    <#local document=saxReaderUtil.read(journalArticle.getContent()) /> 
594 
595    <#local availableLocale=document.getRootElement().attributeValue('available-locales') /> 
596    <#local defaultLocale=document.getRootElement().attributeValue('default-locale') /> 
597    <#if availableLocale?contains(locale)> 
598        <#local displayLocale=locale> 
599    <#else> 
600        <#local displayLocale=defaultLocale> 
601    </#if> 
602 
603    <#local productHeading=document.valueOf("//dynamic-element[@name='ProductHeading']//dynamic-content[@language-id='${displayLocale}']") /> 
604    <#local productLogoColor=document.valueOf("//dynamic-element[@name='ProductLogoColor']//dynamic-content[@language-id='${displayLocale}']") /> 
605    <#local pageLink=document.valueOf("//dynamic-element[@name='LinkToPage']//dynamic-content[@language-id='${displayLocale}']") /> 
606    <#local extLink=document.valueOf("//dynamic-element[@name='AlternateURLUseOnlyForLinksOutOfTheSite']//dynamic-content[@language-id='${displayLocale}']") /> 
607 
608    <#if pageLink !=""> 
609        <#if pageLink?keep_after('@')?keep_before('@')?string = "public"> 
610            <#assign boolean = false> 
611        <#else> 
612            <#assign boolean = true> 
613        </#if> 
614        <#assign layoutId = getterUtil.getLong(pageLink?keep_before('@'))/> 
615        <#assign  groupId = getterUtil.getLong(pageLink?keep_after_last('@'))/> 
616        <#assign layout = layoutLocalService.getLayout(groupId,boolean,layoutId)/> 
617        <#assign linkUrl = urlHelper + layout.getFriendlyURL()> 
618    <#elseif extLink != ""> 
619        <#assign linkUrl = extLink> 
620    <#else> 
621        <#assign linkUrl = "#"> 
622    </#if> 
623 
624 
625    <#if journalArticle.isApproved() && !journalArticle.isExpired()> 
626    <div class="refproduct-item"> 
627        <div class="refproduct-img"> 
628            <img class="" src="${productLogoColor}"> 
629        </div> 
630        <h3 class="refdetail-h3">${productHeading}</h3> 
631        <a class="refproduct-btn" href="${linkUrl}">Více</a> 
632    </div> 
633    </#if> 
634</#macro> 

Další referenční stavby


Bytový dům na Klínovci

22. června, 2020

Pětipodlažní bytový dům v docházkové vzdálenosti od Ski areálu Klínovec ve výšce 1000m.n.m. Společnost CEMEX dodávala stavební materiály pro podlahy: 58 m3 POROFLOW CF 400 N a 52 m3 AnhyLevel 20.

Více

Spolkový dům ve Slavonicích

22. ledna, 2011

Rekonstrukce spolkového domu ve Slavonicích byla prováděna firmou Podzimek a synové s.r.o., monolitické práce subdodávkou provedla firma K.K.Beton CZ s.r.o. Vzhledem k umístění stavby v památkové zóně Slavonic bylo nutno ponechat stávající obvodové zdivo. Nové monolitické konstrukce jsou z...

Více

Rezidence Na Dračkách, etapa B (Maison Ořechovka)

3. března, 2021

Stavba se nachází v lokalitě Praha, Střešovice v těsné blízkosti Zahradnictví Chládek, ve svažitém terénu s výhledem do údolí na rozhraní Veleslavína a Dejvic. Objekt má dvě podzemní podlaží nepravidelného tvaru o rozměrech cca 80x50m, nad podzemními podlažími vybíhají samostatné čtyři objekty...

Více
ARG
CHE
COL
CRI
CZE
DEU
DOM
EGY
ESP
FRA
GBR
GTM
HRV
ISR
JAM
MEX
PAN
PER
PHI
POL
PRI
SLV
UAE
  • Mapa stránek
  • Ochrana osobních údajů
  • Globální zásady ochrany osobních údajů
  • Personal data protection
  • Ochrana oznamovatelů
  • Protection of whistleblowers
  • Obchodní podmínky
  • Politika cookies
  • Kariéra
  • Kontaktujte nás
  • © 2024 CEMEX S.A.B. de C.V.
  • Cemex CZ
  • Facebook icon
  • Linked in icon
  • Instagram icon
  • Youtube icon