Nolan Sound ramps up with RCF's HDL10-A
Search RCF products
Choose search system
An error occurred while processing the template.
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=a3385b63-5ee0-f8ee-0536-7d274d5f89a2, productId=3, companyId=20101, groupId=20128, userId=20130, userName=Eighty Twenty, createDate=Tue Nov 02 14:51:56 GMT 2021, modifiedDate=Fri Dec 20 11:20:21 GMT 2024, code=STP0122, productTypeName=Active Speakers, name=TTS 26-A, nameSearchable=TTS26A, urlTitle=tts-26-a, 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\">ACTIVE HIGH POWER SUBWOOFER</Subtitle><Subtitle language-id=\"de_DE\">AKTIVER HIGH POWER SUBWOOFER</Subtitle><Subtitle language-id=\"es_ES\">SUB-BAJO ACTIVO DE ALTA POTENCIA</Subtitle><Subtitle language-id=\"fr_FR\">SUBWOOFER ACTIF À FORTE PUISSANCE</Subtitle><Subtitle language-id=\"it_IT\">SUBWOOFER ATTIVO AD ALTA POTENZA</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 TTS26-A is a very compact powerful subwoofer designed for a variety of professional fixed or portable sound applications. 
\nIt is the perfect complement the TTL11A column array system. Two high power 15” neodymium woofers powered by a 3400 W digital amplifier deliver a perfect and bass punch for live music applications.</Description><Description language-id=\"de_DE\">The TTS26-A is a very compact powerful subwoofer designed for a variety of professional fixed or portable sound applications. 
\nIt is the perfect complement the TTL11A column array system. Two high power 15” neodymium woofers powered by a 3400 W digital amplifier deliver a perfect and bass punch for live music applications.</Description><Description language-id=\"es_ES\">El TTS26-A es un sub-bajo potente y muy compacto diseñado para para una amplia gama de aplicaciones profesionales de sonido fijas o portátiles. 
\nEs el complemento perfecto del array de columna TTL11A. Dos altavoces de alta potencia con cono de 15”e imán de neodimio y 3400W de amplificación digital logran un bajo con pegada perfecta para aplicaciones de música en directo.</Description><Description language-id=\"fr_FR\">Le TTS26-A est un subwoofer particulièrement compact et puissant conçu pour couvrir toute une variété d'applications professionnelles fixes et mobiles. Il constitue le complément idéal du système array TTL11A. Il est doté de deux puissants woofers 15\" avec aimant néodyme alimentés par un étage de puissance numérique de 3400 watts qui développent une énergie basse fréquence adaptée aux applications de live les plus exigeantes.</Description><Description language-id=\"it_IT\">Il TTS26-A è un subwoofer compatto molto potente pensato per una serie di applicazioni audio fisse o mobili a livello professionale. È un complemento perfetto per l'impianto line-array a colonna TTL11A. 
\nDue woofer al neodimio da 15” ad elevata potenza alimentati da un amplificatore digitale da 3400 W offrono un perfetto bass punch per applicazioni nella musica live</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