Se ha producido un error al procesar la plantilla.
An error has occurred when reading existing sub-variable "iterator"; see cause exception! The type of the containing value was: extended_hash+string (org.json.JSONObject wrapped into f.e.b.StringModel)

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #list images.iterator() as imgObj  [in template "227222" in macro "imageZoom" at line 359, column 9]
	- Reached through: @imageZoom id=variant.id cssClasses="...  [in template "20116#20152#253374" at line 94, column 25]
----
1<#if cmsEntity?has_content> 
2<#include "${templatesPath}/227222" /> <@sectionHeader title="${title}" menuTitle="${menuTitle}" cssClasses="bg-white" id="discontinued-section-main"/> 
3<#assign ns = themeDisplay.portletDisplay.getId() > 
4 
5<#assign iconSetPath ="/o/genelec-site-theme/images/icons/symbol-defs.svg"> 
6<#if cmsEntity.getField(profile, "/entity/relationships/variants")?has_content> 
7    <#assign variants = cmsEntity.getField(profile, "/entity/relationships/variants") > 
8</#if> 
9<#if cmsEntity.getField(profile, "/entity/fields")?has_content> 
10    <#assign fields = cmsEntity.getField(profile, "/entity/fields") >  
11</#if> 
12<#if cmsEntity.getLocalizedField(profile, "/entity/fields/title")?has_content> 
13    <#assign productTitle = cmsEntity.getLocalizedField(profile, "/entity/fields/title")> 
14</#if> 
15<#if cmsEntity.getField(profile, "/entity/relationships/awards")?has_content> 
16    <#assign awards = cmsEntity.getField(profile, "/entity/relationships/awards") > 
17</#if> 
18 
19 
20<#if cmsEntity.getLocalizedField(profile, "/entity/fields/content")?has_content > 
21    <#assign content = cmsContentFormatterService.getMarkdown(cmsEntity.getLocalizedField(profile, "/entity/fields/content"))> 
22</#if> 
23<#if cmsEntity.getField(profile, "/entity/fields/summary")?has_content > 
24    <#assign summary = cmsContentFormatterService.getMarkdown(cmsEntity.getLocalizedField(profile, "/entity/fields/summary"))> 
25</#if> 
26 
27<#assign portalUrl = themeDisplay.getPortalURL() > 
28<#assign currentURL = portalUrl + themeDisplay.getURLCurrent()  > 
29<@appendHTMLMetas currentURL cmsEntity "product" /> 
30 
31        <div class="row"> 
32            <div class="col-lg-6"> 
33                <div class="product-page-heading"> 
34                    <h1>${productTitle}</h1> 
35                    <#if cmsEntity.getLocalizedField(profile, "/entity/fields/subtitle")?has_content> 
36                        <h1 class="subtitle">${cmsEntity.getLocalizedField(profile, "/entity/fields/subtitle")}</h1> 
37                    </#if> 
38                </div> 
39                <div class="row justify-content-between"> 
40                    <div class="col-lg-12 article-content"> 
41                    <div class="product-page-intro"> 
42                    <#if cmsEntity.getField(profile, "/entity/relationships/discontinuedProductReplacedBy")?has_content> 
43                    <#assign replacedBys = cmsEntity.getField(profile, "/entity/relationships/discontinuedProductReplacedBy")> 
44                        <#list replacedBys.iterator() as replacedBy> 
45                            <#assign replacedByName = localizeField(replacedBy.properties.title, profile.getCMSLangCode())> 
46                            <#if replacedBy?index == 0 && replacedBy?is_last> 
47                                <@liferay.language key="replaced-by"/> ${replacedByName}  
48                            <#elseif replacedBy?index == 0 && replacedBy?is_first> 
49                                <@liferay.language key="replaced-byMulti"/> ${replacedByName}<#sep>, 
50                            <#else> 
51                                ${replacedByName}<#sep>, 
52                            </#if> 
53                        </#list> 
54                        </#if> 
55                        </div> 
56                    </div> 
57                </div> 
58                <div class="row"> 
59                    <div class="col-lg-12">   
60                    <p> 
61                        <#if awards?has_content> 
62                            <#list awards.iterator() as award> 
63                                <#assign awardIndex = award?index> 
64                                <#if !award.assets.isNull("image")> 
65                                    <#assign awardImage = award.assets.image.url > 
66                                    <a href="#/" onClick="openPopup(9)"> 
67                                        <@imageThumbnail src="${awardImage}" id="" cssClasses="award-img" thumbnail="awardImg" alt="${localizeField(award.properties.title, profile.getCMSLangCode())}"/> 
68                                    </a> 
69                                </#if> 
70                            </#list> 
71                            <#if awardIndex gt -1> 
72                                <i class="award-icon default-icon icon-plus-sign" onClick="openPopup(9)" title="<@liferay.language key="more-info"/>"></i> 
73                            </#if> 
74                        </#if> 
75                    <p> 
76                    <hr> 
77                    </div> 
78                </div>  
79                <div class="row"> 
80                    <div class="col-lg-12"> 
81                        <#if summary?has_content> 
82                            <div class="product-page-intro">${summary}</div> 
83                        </#if> 
84                        <#if content?has_content> 
85                            <p>${content}</p>  
86                        </#if> 
87                    </div> 
88                </div>   
89            </div> 
90            <#if variants?has_content> 
91            <div class="col-lg-6"> 
92                <#list variants.iterator() as variant> 
93                    <#if variant?index = 0> 
94                        <@imageZoom  
95                            id=variant.id  
96                            cssClasses="zoom-gallery-slide active"  
97                            images=variant.relationships.images  
98                            carouselCss="discontinued-carousel owl-carousel owl-theme image-carousel-container"  
99                            zoomCss="MagicZoom discontinued-page-product-image" 
100                            videoCss="discontinued-section-video" 
101                        /> 
102                    <#else> 
103                        <@imageZoom  
104                            id=variant.id  
105                            variantCss="variant-gallery"  
106                            cssClasses="zoom-gallery-slide active"  
107                            images=variant.relationships.images  
108                            carouselCss="discontinued-carousel owl-carousel owl-theme image-carousel-container"  
109                            zoomCss="MagicZoom discontinued-page-product-image" 
110                            videoCss="discontinued-section-video" 
111                        /> 
112                    </#if> 
113                </#list> 
114                 <#list variants.iterator() as variant> 
115                    <#if !variant.properties.isNull("colorCode")> 
116                        <#if variant?index == 0> 
117                            <div class="text-bold"><@liferay.language key="color-options"/></div> 
118                        </#if> 
119                        <#assign color = "${variant.properties.colorCode}"> 
120                        <#if !variant.properties.isNull("sku")> 
121                            <#assign sku = variant.properties.sku> 
122                        <#else> 
123                            <#assign sku = ""> 
124                        </#if> 
125                    <#if variant?index = 0> 
126                        <@variantChange id=variant.id checked="checked" color=color sku=sku/> 
127                    <#else> 
128                        <@variantChange id=variant.id color=color sku=sku/> 
129                    </#if> 
130                    </#if> 
131                </#list> 
132            </div> 
133            </#if> 
134        </div> 
135 <@sectionFooter/> 
136 
137<#--  Popup  --> 
138<div id="theme-popup9" class="popup product-page-media"> 
139    <div class="close-button-container"> 
140        <span class="close" onClick="closePopup(9)"></span> 
141    </div> 
142    <div class="panel popup-content" id="popupContentAwards"> 
143        <div class="panel-body"> 
144 
145            <h3 class="section-heading text-bolder"> 
146                ${productTitle}<br> 
147                Awards   
148            </h3> 
149 
150            <#if awards?has_content> 
151                <div class="row"> 
152                    <#list awards.iterator() as award> 
153                        <div class="col-12 col-md-6 col-xl-3 award-card"> 
154                            <#if !award.assets.isNull("image")> 
155                                <#assign awardImage = award.assets.image.url > 
156                                <div class="aspect-ratio aspect-ratio-4-to-3">  
157                                        <@imageThumbnail data="${awardImage}" id="" cssClasses="aspect-ratio-item-fluid aspect-ratio-item-center-middle lazy" thumbnail="awardImgPopup" alt="${localizeField(award.properties.title, profile.getCMSLangCode())}"/> 
158                                </div> 
159                            <#else> 
160                                <div class="aspect-ratio aspect-ratio-4-to-3">  
161                                </div> 
162                            </#if> 
163                                <p> 
164                                    <span class="text-medium text-bolder">${localizeField(award.properties.title, profile.getCMSLangCode())}</span><br> 
165                                </p> 
166                                <p> 
167                                    <span class="small"> 
168                                        <#if !award.properties.isNull("content")> 
169                                        <#assign awardContent = cmsContentFormatterService.getMarkdown(localizeField(award.properties.content, profile.getCMSLangCode()))> 
170                                        ${awardContent} 
171                                        </#if> 
172                                    </span> 
173                                </p> 
174                        </div> 
175                    </#list>    
176                </div> 
177            </#if>  
178        </div> 
179    </div> 
180</div> 
181 
182<style> 
183 
184    .product-page-product-title { 
185        font-weight: 600; 
186        margin-bottom: 0; 
187
188 
189    .product-page-form { 
190        margin-bottom: 15px; 
191
192 
193    .btn-product-page-buy { 
194        width: 40%; 
195        min-width: 250px;  
196
197 
198    .btn-bold { 
199        border-width: 2px; 
200        text-transform: uppercase; 
201        font-weight: 800; 
202
203 
204    .buy-product-dropdown { 
205        margin-left: -4px; 
206        border-left: none; 
207        padding: 0; 
208        width: 11%; 
209        height: 43px 
210
211 
212    .buy-product-dropdown h3 { 
213        display: inline; 
214        vertical-align: middle; 
215
216 
217    .buy-product-dropdown svg { 
218        width: 20px; 
219        line-height: .2; 
220        vertical-align: middle; 
221
222    
223 
224    .product-page-form input { 
225        position: absolute; 
226        opacity: 0; 
227        cursor: pointer; 
228
229 
230    .container-first-section { 
231        padding-bottom: 0px; 
232
233 
234    .container-last-section { 
235        padding-top: 0px; 
236
237 
238 
239i.award-icon { 
240    color: #CCC; 
241
242i.award-icon:hover { 
243    cursor: pointer; 
244    color: #6daa41; 
245
246.discontinued-carousel .owl-prev { 
247    width: 17px; 
248    height: 100px; 
249    position: absolute; 
250    left: -20px; 
251    top: 47%; 
252    transform: translateY(-50%); 
253    display: block !important; 
254    border:0px solid black; 
255    font-size: 2em !important; 
256
257 
258.discontinued-carousel .owl-next { 
259    width: 17px; 
260    height: 100px; 
261    position: absolute; 
262    right: -20px; 
263    top: 47%; 
264    transform: translateY(-50%); 
265    display: block !important; 
266    border:0px solid black; 
267    font-size: 2em !important; 
268
269.award-img{ 
270max-width: 180px; 
271
272 
273</style> 
274 
275<script> 
276    $('.discontinued-carousel').owlCarousel({ 
277    loop:false, 
278    nav:true, 
279    dots:false, 
280    margin:5, 
281    lazyLoad:true, 
282    navText : ['<i class="icon-angle-left">','<i class="icon-angle-right">'], 
283    responsive:{ 
284        0:{items:3, slideBy:3}, 
285        600:{items:5, slideBy:5}, 
286        1000:{items:7, slideBy:7} 
287     }, 
288}); 
289 
290$(document).mouseup(function (e) { 
291    if(!$('#popupContent'+"Awards").is(e.target) &&  
292        $('#popupContent'+"Awards").has(e.target).length == 0 &&  
293        $(e.target).attr('class') != 'close' && 
294        $('#theme-popup'+"9").css("display") == "block"){ 
295        closePopup(9); 
296
297}) 
298 
299</script> 
300</#if> 

Documentación

Preguntas frecuentes

The Genelec Loudspeaker Manager (GLM™) Package provides all necessary components to establish connectivity to SAM™ monitors. Complete network system setup and control of up to 30 monitors and subwoofer is possible via a standard CAT5 or CAT6 cabling.

The GLM™ includes simple to use step-by-step setup wizards to ensure a pain-free and thorough installation, access to extensive Acoustical Settings in each monitor, and System Setup files for saving and recalling of all settings.

As an essential part of the GLM software, GLM™ AutoCal is a fully automated acoustical calibration tool for a single room multi-monitor system which combines decades of acoustic research along with our proprietary DSP and network control. The AutoCal system produces monitor-generated test signals recorded by a calibration microphone to determine correct acoustical alignments for every monitor and subwoofer on the GLM control network.

The differences are in the steepness of the crossover filters and the slightly tighter on-axis response. When using the GLM™ control network and AutoCal, the monitor can be integrated into the room with greater precision and the differences may be significant.

Software updates and upgrades will be clearly announced on the Genelec web site.

Show more

Encuentra tu representante

Introduce tu ciudad para encontrar el representante más cercano

Filters
X Filters
All
Monitores de estudio
Audio para casa
Instalación AV
Servicio técnico
Sala de demostración
Centro de experiencia
SAM Certified
Smart IP Certified
País