Nuova intelligibilità per la Cattedrale di Lugano
Search RCF products
Choose search system
Si è verificato un errore nell'elaborarazione del modello.
Java method "it.dvel.rcf.profile.integration.model.impl.ProductImpl.getLineTitle(Locale)" threw an exception when invoked on it.dvel.rcf.profile.integration.model.impl.ProductImpl object "{uuid=2c187654-1fe0-c6d4-1d4f-397200c673ff, productId=610, companyId=20101, groupId=20128, userId=20130, userName=Eighty Twenty, createDate=Tue Nov 02 15:29:40 GMT 2021, modifiedDate=Fri Dec 20 11:22:58 GMT 2024, code=STP0872, productTypeName=Active Speakers, name=VSA 2050 II, nameSearchable=VSA2050II, urlTitle=vsa-2050-ii, subtitle=<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US,it_IT,es_ES,fr_FR,de_DE\" default-locale=\"en_US\"><Subtitle language-id=\"en_US\">DIGITALLY STEERABLE COLUMN SPEAKER</Subtitle><Subtitle language-id=\"de_DE\">Beam-Steering-Säulenlautsprecher</Subtitle><Subtitle language-id=\"es_ES\">Altavoz tipo columna orientable digitalmente</Subtitle><Subtitle language-id=\"fr_FR\">Enceinte colonne avec contrôle numérique de la dispersion</Subtitle><Subtitle language-id=\"it_IT\">DIFFUSORE A COLONNA CON CONTROLLO DIGITALE DELLA DIRETTIVITÁ</Subtitle></root>, description=<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US,it_IT,es_ES,fr_FR,de_DE\" default-locale=\"en_US\"><Description language-id=\"en_US\">The VSA 2050 II is a multi-amplified vertical steerable array that represents one of the latest RCF applications in terms of digital audio technology. Thanks to powerful DSPs it processes the audio signal sent to each speaker for controlling its vertical acoustic dispersion to address the audio signal exactly to the listening area, avoiding to send the acoustic energy to ceilings and empty floors, thus not introducing bad reflections that would affect speech intelligibility, mainly in critical environments with high reverberation time. Full RDNet compatibility.</Description><Description language-id=\"de_DE\">Die VSA II Säulenlautsprecher sind in der Lage, Audiosignale präzise und gezielt auf einen Zuhörerbereich abzustrahlen. Dank modernster digitaler Signalverarbeitung lässt sich die vertikale Abstrahlung so steuern, dass der Schall wie ein „Strahl“ auf die gewünschten Bereiche gerichtet wird und so die akustischen Anomalien von stark hallenden Räumen maßgeblich reduziert werden. Die Gerätesteuerung erfolgt über die RCF-eigene RDNet-Software und bietet darüber hinaus nützliche Voice-Alarm-Features. Das Ergebnis ist eine Verbesserung der Transparenz mit deutlich erhöhter Sprachverständlichkeit</Description><Description language-id=\"es_ES\">Los altavoces tipo columna VSA II pueden ofrecer una direccionalidad de sonido precisa dirigida al área de escucha de los oyentes. Su procesador digital de señales avanzado permite el control de la dispersión acústica vertical orientando y dirigiendo el sonido a las zonas deseadas y reduciendo así anomalías acústicas producidas por espacios con mucha reverberación. La unidad puede controlarse utilizando el entorno de software exclusivo RDNet de RCF y cuenta con capacidad para sistemas de alarma por voz. El resultado es una claridad mejorada y mayor inteligibilidad.</Description><Description language-id=\"fr_FR\">Les enceintes colonne VSA II sont capables d’assurer une directivité audio précisément ciblée vers la zone d'écoute du public. Un traitement numérique de signal perfectionné permet de contrôler la dispersion acoustique verticale en offrant la possibilité d’« orienter » et d’ « incliner » le son vers les zones visées, ce qui réduit les anomalies acoustiques dues aux espaces hautement réverbérants. L'enceinte se contrôle depuis l'environnement logiciel propriétaire RDNet de RCF et propose des fonctionnalités utiles d'alarme vocale. Il en résulte une clarté améliorée et une intelligibilité accrue.</Description><Description language-id=\"it_IT\">I diffusori a colonna VSA II offrono una direttività precisa del segnale audio indirizzandolo solo alla zona di ascolto del pubblico. Un avanzato DSP permette di controllare la dispersione acustica verticale con la capacità di “orientare” e “proiettare” il suono sulle aree prefissate, riducendo così le anomalie acustiche causate dagli spazi altamente riverberanti. L’unità può essere controllata usando il software proprietario RCF RDNet e dispone di utili funzionalità per allarme vocale. Il risultato è una migliore nitidezza e una maggiore intelligibilità.</Description></root>, type=PRODOTTO, accessoryTypeCode=, publication=RCF, ratio=100, readMoreURL=, youTubeVideos=, youTubeURL=, active=true}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: ${relatedProduct.getLineTitle(locale)} [in template "20101#20128#819037" at line 171, column 73] ----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
2<#assign journalArticleId = .vars['reserved-article-id'].data>
3<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]>
4<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
5<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/>
6<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) >
7<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
8<#assign parentLayout = LayoutLocalService.getLayout(layout.getAncestorPlid()) />
9<#assign parentLayoutUrl = parentLayout.getFriendlyURL(locale) />
10<#assign journalArticle = journalArticleLocalService.getLatestArticle(scopeGroupId, journalArticleId) />
11<#assign relatedArticles = rcfTemplateHelper.getRelatedAssets(journalArticle, 'com.liferay.journal.model.JournalArticle', 'News Liferay 6.2') />
12<#assign relatedProducts = rcfTemplateHelper.getRelatedAssets(journalArticle, 'it.dvel.rcf.profile.integration.model.Product', '') />
13
14<div class="news-detail">
15 <div class="bg-white pb-5">
16 <div class="py-4 px-2 bg-lighter mb-7 to-back">
17 <div class="container-fluid container-fluid-max-xl">
18 <a href="javascript: window.history.back();" class="d-flex align-items-center">
19 <i class="icon-arrow-right-custom"></i>
20 <span class="pl-3"><@liferay.language key="back" /></span>
21 </a>
22 </div>
23 </div>
24 <div class="container-fluid container-fluid-max-xl px-4">
25 <div class="mb-2">
26 <span class="font-weight-medium category mr-3">
27 <#list categoryList as category>
28 <span class="pr-3">${category.getName()}</span>
29 </#list>
30 </span>
31 <span class="date">
32 <#setting time_zone = languageUtil.get(locale, "template-timezone") />
33 <#assign originalLocale = locale />
34 <#setting locale = localeUtil.getDefault() />
35 <#assign displaydate = .vars['reserved-article-display-date'].data>
36 <#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
37 <#setting locale = originalLocale />
38 ${displaydate?string["dd MMM yyyy"]}
39 </span>
40 </div>
41
42 <#if (FieldsGroup52652497.Text78515013.getData())??>
43 <h1 class="mb-4 font-family-narrow-normal px-0">${FieldsGroup52652497.Text78515013.getData()}</h1>
44 </#if>
45
46 <#if FieldsGroup52652497.Upload45315688.getSiblings()?has_content>
47 <div class="mb-6">
48 <div class="owl-carousel owl-theme" id="owl-carousel-hp">
49 <#list FieldsGroup52652497.Upload45315688.getSiblings() as cur_FieldsGroup52652497_Upload45315688>
50 <div class="slide d-flex align-items-center justify-content-center" style="background-image:url(${cur_FieldsGroup52652497_Upload45315688.getData()})">
51 </div>
52 </#list>
53 </div>
54 </div>
55 <div class="d-none">
56 <#list FieldsGroup52652497.Upload45315688.getSiblings() as cur_FieldsGroup52652497_Upload45315688>
57 <img src="${cur_FieldsGroup52652497_Upload45315688.getData()}" />
58 </#list>
59 </div>
60 </#if>
61
62
63 <div class="d-md-flex align-items-center justify-content-between mb-md-9 mb-5">
64 <div class="social h6 mb-0 py-2 pl-2 mb-3 mb-md-0">
65 <#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
66 <a href="http://www.linkedin.com/shareArticle?mini=true&url=${currentUrl}&title=${FieldsGroup52652497.Text78515013.getData()}" class="px-2" target="_blank">
67 <i class="icon-linkedin-custom px-1"></i>
68 </a>
69 <a href="https://www.facebook.com/sharer/sharer.php?u=${currentUrl}" class="px-2" target="_blank">
70 <i class="icon-facebook-custom px-1"></i>
71 </a>
72 <a href="https://twitter.com/intent/tweet?url=${currentUrl}" class="px-2" target="_blank">
73 <i class="icon-twitter-custom px-1"></i>
74 </a>
75 </div>
76 </div>
77 </div>
78 <div class="container-fluid container-fluid-max-xl px-md-7 px-lg-9 px-4">
79 <#if FieldsGroup52652497.FieldsGroup95339333.getSiblings()?has_content>
80 <#list FieldsGroup52652497.FieldsGroup95339333.getSiblings() as node>
81 <div class="mb-md-7 mb-4">
82 <#if (FieldsGroup52652497.FieldsGroup95339333.Text94801507.getData())??>
83 <h6 class="mb-md-6 mb-4">${node.Text94801507.getData()}</h6>
84 </#if>
85 <#if (node.RichText63313118.getData())??>
86 <div class="mb-md-7 mb-4 paragraph font-family-narrow-normal">
87 ${node.RichText63313118.getData()}
88 </div>
89 </#if>
90 <#if (node.RichText45781737.getData())??>
91 <div class="row mb-md-7 mb-4">
92 <#if (node.Image42436245.getData())?? && node.Image42436245.getData() != "">
93 <div class="col-md-8 mb-4 mb-md-0">
94 <img alt="${node.Image42436245.getAttribute("alt")}" data-fileentryid="${node.Image42436245.getAttribute("fileEntryId")}" src="${node.Image42436245.getData()}" class="w-100"/>
95 </div>
96 <#if (node.RichText45781737.getData())?? && node.RichText45781737.getData() != "">
97 <div class="col-md-4 font-family-narrow-normal">
98 ${node.RichText45781737.getData()}
99 </div>
100 </#if>
101 <#else>
102 <#if (node.RichText45781737.getData())?? && node.RichText45781737.getData() != "">
103 <div class="col-md-12 font-family-narrow-normal">
104 ${node.RichText45781737.getData()}
105 </div>
106 </#if>
107 </#if>
108 </div>
109 </#if>
110 <#if (node.Text34883111.getData())?? && node.Text34883111.getData() != "">
111 <div class="blockquote font-family-narrow-normal position-relative mb-7">
112 ${node.Text34883111.getData()}
113 </div>
114 </#if>
115 </div>
116 </#list>
117 </#if>
118 <#if FieldsGroup52652497.FieldsGroup17972647.getData() !=''>
119 <div class="mb-md-7 mb-4">
120 <#list FieldsGroup52652497.FieldsGroup17972647.getSiblings() as node>
121 <div class="mb-2">
122 <#if (node.Text21652173.getData())??>
123 <a target="_blank" href="${node.Text21652173.getData()}" class="d-flex align-items-center font-family-narrow-normal">
124 <i class="icon-download-custom mr-3 h5 font-weight-normal mb-0"></i>
125 <#if node.Text31160069.getData() !=''>
126 ${node.Text31160069.getData()}
127 <#else>
128 <@liferay.language key="download" />
129 </#if>
130 </a>
131 </#if>
132 </div>
133 </#list>
134 </div>
135 </#if>
136 </div>
137 </div>
138
139 <#if relatedProducts?has_content>
140 <div class="bg-lighter">
141 <div class="container-fluid container-fluid-max-xl pt-7 pb-8 px-4">
142 <h5 class="font-weight-normal mb-5 text-center secondary"><@liferay.language key="related-products" /></h5>
143 <div class="owl-carousel owl-theme" id="owl-carousel-rel-prod">
144 <#list relatedProducts as relatedProduct>
145 <#assign productFeatures = relatedProduct.getProductFeatures(true) />
146 <#assign productBadges2 = relatedProduct.getBadges(2) />
147 <#assign productBadges1 = relatedProduct.getBadges(1) />
148
149 <div class="related-news related-prod mb-4 mb-md-0 h-100">
150 <div class="bg-white h-100 p-5 position-relative rounded-sm d-flex flex-column">
151 <#if productBadges2?has_content>
152 <#assign productStatusStyle = productBadges2[0].getBackColor() />
153 <div class="status px-4 mb-5 pt-3" style="border-color:${productStatusStyle}!important">
154 <#list productBadges2 as productBadge2>
155 <div class="border-0 badge" style="color: ${productBadge2.getBackColor()}">${productBadge2.getCode()}</div>
156 </#list>
157 </div>
158 </#if>
159 <div class="image d-flex align-items-end mb-5">
160 <a data-senna-off="true" href="${portal.getLayoutFullURL(relatedProduct.getFirstAvailableLayout(rcfCurrentPublication), themeDisplay)}" class="d-flex align-items-center justify-content-center">
161 <img src="${relatedProduct.getFirstAvailableCoverImageURL(rcfCurrentPublication, themeDisplay)}" class="w-100" />
162 </a>
163 </div>
164 <div class="status normal mb-4 pt-3">
165 <#list productBadges1 as productBadge1>
166 <div class="border-0 badge" style="background-color: ${productBadge1.getBackColor()}; color: ${productBadge1.getFontColor()};">${productBadge1.getCode()}</div>
167 </#list>
168 </div>
169 <div class="mb-4">
170 <div class="meta font-weight-medium underline mb-3">
171 ${relatedProduct.getLineTitle(locale)}
172 </div>
173 <h4 class="font-weight-medium mb-3 text-uppercase">${relatedProduct.name}</h4>
174 <p class="mb-3 font-weight-medium text-uppercase">${relatedProduct.getSubtitle(locale)}</p>
175 <small class="mb-3 font-family-narrow-normal d-block">
176 <ul class="mb-5 font-family-narrow-normal px-0">
177 <#list productFeatures as productFeature>
178 <li>${productFeature.getTitle(locale)}
179 </#list>
180 </ul>
181 </small>
182 </div>
183 <div class="mt-auto">
184 <#if relatedProduct.hasLayout(rcfCurrentPublication)>
185 <a data-senna-off="true" href="${portal.getLayoutFullURL(relatedProduct.getFirstAvailableLayout(rcfCurrentPublication), themeDisplay)}" class="btn btn-link-normal">
186 <@liferay.language key="learn-more" />
187 </a>
188 </#if>
189 </div>
190 </div>
191 </div>
192 </#list>
193 </div>
194 </div>
195 </div>
196 </#if>
197
198 <#if relatedArticles?has_content>
199 <div class="container-fluid container-fluid-max-xl pt-8 pb-4 px-4">
200 <h5 class="font-weight-normal mb-5 text-center"><@liferay.language key="other" /> <@liferay.language key="news" /></h5>
201 <div class="row pt-7">
202 <#list relatedArticles as relatedArticle>
203 <#assign categoryListEntry=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",relatedArticle.resourcePrimKey) >
204 <#assign imageURL = rcfTemplateHelper.getJournalArticleField(relatedArticle, locale, 'FieldsGroup52652497.Upload45315688', 'url') />
205 <#assign title = rcfTemplateHelper.getJournalArticleField(relatedArticle, locale, 'FieldsGroup52652497.Text78515013') />
206 <#assign entryTitle = relatedArticle.getTitle(locale) />
207 <#if validator.isNull(title)>
208 <#assign title = entryTitle />
209 </#if>
210 <#assign summary = relatedArticle.getDescription(locale) />
211 <#assign text = rcfTemplateHelper.getJournalArticleField(relatedArticle, locale, 'FieldsGroup52652497.FieldsGroup95339333.RichText63313118') />
212 <#if validator.isNull(summary)>
213 <#assign summary = text />
214 </#if>
215 <div class="col-md-6 related-news mb-5">
216 <div class="bg-white h-100">
217 <div class="image bg-secondary" style="background-image:url(${imageURL})">
218 </div>
219 <div class="p-5 pb-8">
220 <div class="meta">
221 <span class="font-weight-medium pr-3 text-uppercase">
222 <#list categoryListEntry as category>
223 ${category.getName()}
224 </#list>
225 </span>
226 <span>
227 ${relatedArticle.createDate?string["dd MMM yyyy"]}
228 </span>
229 </div>
230 <h6 class="font-weight-medium mb-3">
231 ${title}
232 </h6>
233 <small class="mb-5 font-family-narrow-normal d-block">${stringUtil.shorten(htmlUtil.stripHtml(summary), 250)}</small>
234 <a href="/-/${relatedArticle.urlTitle}" class="btn btn-link-normal">
235 <@liferay.language key="learn-more" />
236 </a>
237 </div>
238 </div>
239 </div>
240 </#list>
241 </div>
242 </div>
243 </#if>
244</div>
245<script>
246 var owl = $("#owl-carousel-hp").owlCarousel({
247 loop:true,
248 nav:false,
249 dots:true,
250 items:1
251 });
252 $("#owl-carousel-rel-prod").owlCarousel({
253 margin:20,
254 nav:false,
255 dots:true,
256 items:3,
257 responsive : {
258 0 : {
259 items:1
260 },
261 768 : {
262 items:2
263 },
264 1000 : {
265 items:3
266 }
267 }
268 });
269</script>
270<style>
271
272 @media only screen and (min-width: 600px) and (max-width: 768px){
273 .news-detail #owl-carousel-hp .slide {
274 height:400px
275 }
276 }
277 @media only screen and (max-width: 600px){
278 .news-detail #owl-carousel-hp .slide {
279 height:200px
280 }
281 }
282</style>
Product Line
Application
Our Services
2021 Copyright ® RCF | RCF S.P.A. cf/p.iva 04081310965