Polygone Equipement reinforces Lille-Métropole Stadium for three-day event
RCF-Produkte suchen
Suchsystem wählen
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=e6f2ea4f-a237-12d0-2cb6-ec61a3c0030a, productId=876, companyId=20101, groupId=20128, userId=20130, userName=Eighty Twenty, createDate=Tue Nov 02 15:46:25 GMT 2021, modifiedDate=Fri Dec 20 11:26:27 GMT 2024, code=STP0101, productTypeName=Active Speakers, name=TTL 33-A II, nameSearchable=TTL33AII, urlTitle=ttl-33-a-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\">ACTIVE THREE-WAY LINE ARRAY MODULE</Subtitle><Subtitle language-id=\"de_DE\">AKTIVES 3-WEGE-LINE-ARRAY-MODUL</Subtitle><Subtitle language-id=\"es_ES\">ACTIVE THREE-WAY LINE ARRAY MODULE</Subtitle><Subtitle language-id=\"fr_FR\">MODULE LINE ARRAY ACTIF TROIS VOIES</Subtitle><Subtitle language-id=\"it_IT\">MODULO LINE-ARRAY ATTIVO A 3-VIE</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 TTL33-A is a compact, wide dispersion, 3 way active line array module that offers the highest performance from a small size line array. 
\nThe incredible high output and dynamics, the extreme accuracy and high frequency extension plus the compact size makes the TTL33-A the ideal tool for outdoor sound reinforcement, live performances and events as well as fixed installations in theatres, concert halls or auditoriums.</Description><Description language-id=\"de_DE\">Das TTL33-A II ist ein kompaktes, breit abstrahlendes, aktives Drei-Wege-Line-Array für mittelgroße bis große Beschallungsanwendungen. Seine hohe Ausgangsleistung, die extrem präzisen Wiedergabeeigenschaften und das robuste und kompakte Gehäuse machen das TTL33-A zur idealen Lösung für die Beschallung im Außenbereich, für Live-Veranstaltungen oder auch für hochwertige Festinstallationen im Theater, Konzertsaal oder Auditorium.</Description><Description language-id=\"es_ES\">TTL33-A Pequeño como un mini pero mas grande que un compacto !!! 
\nEs el modulo de Line Array ultra compacto de dispersión ancha que establece un nuevo standard en grandes y pequeñas giras de espectáculos asi como también refuerzo sonoro en teatros e instalaciones fijas.</Description><Description language-id=\"fr_FR\">Le TTL33-A II est un module line array actif compact trois voies, à large dispersion et haut rendement, pour des sonorisations de taille moyenne à grande. Sa puissance de sortie élevée, son extrême précision sonore et son coffret robuste mais compact font du TTL33-A l'outil idéal pour la sonorisation en extérieur, les spectacles et les événements live ainsi que les installations fixes haut de gamme dans les théâtres, les salles de concert ou les auditoriums.</Description><Description language-id=\"it_IT\">Il TTL 33-A II è un modulo line-array attivo a 3-vie compatto, ad ampia dispersione e alte prestazioni, concepito per sound reinforcement di medie e grandi dimensioni. L’elevata potenza in uscita, l’estrema precisione sonora e il cabinet robusto ma compatto fanno del TTL 33-A II lo strumento ideale per sound reinforcement outdoor, esibizioni dal vivo ed eventi, nonché per installazioni fisse di fascia alta in teatri, sale da concerto e auditorium.</Description></root>, type=PRODOTTO, accessoryTypeCode=, publication=RCF, ratio=90, readMoreURL=, youTubeVideos=OfIuoD-sfqU\ns9D2T-J1HfE\nnv4y_L4s5Sg, 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>
Application
2021 Copyright ® RCF | RCF S.P.A. cf/p.iva 04081310965