Breadcrumb

2840 Junction in Silicon Valley, USA, achieves a BREEAM rating of Good

An error occurred while processing the template.
The following has evaluated to null or missing:
==> asset.getAssetRenderer()  [in template "20096#20121#207707" at line 90, column 52]

----
Tip: If the failing expression is known to 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: assetRenderer = asset.getAssetRenderer()  [in template "20096#20121#207707" at line 90, column 38]
----
1<#assign 
2    journalArticleResourceLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    journalArticleId=.vars['reserved-article-id'].data 
5    articleResourcePrimaryKey=journalArticleResourceLocalService.getArticleResourcePrimKey(themeDisplay.getScopeGroupId(), 
6    journalArticleId) assetEntry=assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", 
7    articleResourcePrimaryKey) assetCategories=assetEntry.getCategories() /> 
8 
9<#assign rn=randomNamespace> 
10 
11<#list assetCategories as category> 
12    <#assign categoryName=category.getName() /> 
13</#list> 
14 
15<!-- [Start] News Header --> 
16<section class="c-news-header" style="background-image: url('${cardImage.getData()}')"> 
17    <div class="c-news-header__body"> 
18        <ul class="c-news-header__byline"> 
19            <#if categoryName?has_content> 
20                <li class="c-news-header__category">${categoryName}</li> 
21            </#if> 
22            <#if getterUtil.getBoolean(autoPopulateDate.getData())> 
23                <li class="c-news-header__date"> 
24                    <#assign CardDate=.vars["reserved-article-create-date"].data /> 
25                    <#if validator.isNotNull(CardDate)> 
26                        <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate, locale)> 
27                            ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)} 
28                    </#if> 
29                </li> 
30            </#if> 
31 
32            <#if getterUtil.getBoolean(autoPopulateAuthor.getData())> 
33                <#if (cardAuthor.getData())?has_content> 
34                    <li class="c-news-header__author">${cardAuthor.getData()}</li> 
35                <#else> 
36                    <li class="c-news-header__author">${.vars["reserved-article-author-name"].data}</li> 
37                </#if> 
38            </#if> 
39        </ul> 
40        <#if (cardTitle.getData())??> 
41            <h1 class="c-section__title mb-0"> 
42                ${cardTitle.getData()} 
43            </h1> 
44        </#if> 
45    </div> 
46</section> 
47<!-- [End] News Header --> 
48 
49 
50<!-- [Start] Page Description --> 
51<#if (cardDscription.getData())?has_content> 
52    <section class="c-section"> 
53        <div class="container"> 
54            <div class="c-small-desc"> 
55                ${cardDscription.getData()} 
56            </div> 
57        </div> 
58    </section> 
59</#if> 
60<!-- [End] Page Description --> 
61 
62 
63<!-- [Start] Page Rich Description --> 
64<#if (RichCardDscription.getData())?has_content> 
65    <section class="c-section"> 
66        <div class="container"> 
67            <div class="c-small-desc"> 
68                ${RichCardDscription.getData()} 
69            </div> 
70        </div> 
71    </section> 
72</#if> 
73<!-- [End] Page Rich Description --> 
74 
75 
76<!-- [Start] News Details --> 
77<section class="c-section c-section--gray-f5"> 
78    <div class="container"> 
79        <div class="row justify-content-center"> 
80            <div class="col-lg-12"> 
81                <div class="c-article-details"> 
82 
83                    <!-- [Start] Overview and About --> 
84                    <#assign webContentData=jsonFactoryUtil.createJSONObject(overviewAbout.getData()) /> 
85                    <#if webContentData?? && webContentData.title??> 
86                        <div class="c-overview-about c-section pt-0"> 
87                            <#assign journalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
88                            <#assign assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />         
89                            <#assign asset=assetEntryLocalService.getEntry(webContentData.className, getterUtil.getLong(webContentData.classPK)) /> 
90                            <#assign assetRenderer=asset.getAssetRenderer() journalArticle=assetRenderer.getAssetObject() /> 
91                            <@liferay_journal["journal-article"]  
92                                articleId=journalArticle.getArticleId() 
93                                ddmTemplateKey=journalArticle.getDDMTemplateKey()  
94                                groupId=journalArticle.getGroupId()  
95                            />         
96                        </div> 
97                    </#if> 
98                    <!-- [End] Overview and About --> 
99 
100 
101                    <#if caseStudyGroup.getSiblings()?has_content> 
102                        <#list caseStudyGroup.getSiblings() as cur_caseStudyGroup> 
103 
104                            <!-- [Start] Title --> 
105                            <#if (cur_caseStudyGroup.title.getData())?has_content> 
106                                <h2 class="c-article-details__title"> 
107                                    ${cur_caseStudyGroup.title.getData()} 
108                                </h2>	 
109                            </#if> 
110                            <!-- [End] Title --> 
111 
112 
113                            <!-- [Start] Summary --> 
114                            <#--<#if (cur_caseStudyGroup.summary.getData())?has_content> 
115                                <div class="c-summary"> 
116                                    ${cur_caseStudyGroup.summary.getData()} 
117                                </div> 
118                            </#if> --> 
119                            <!-- [End] Summary --> 
120 
121 
122                            <!-- [Start] Slice --> 
123                            <#if (cur_caseStudyGroup.slice.getData())?has_content> 
124																<div class="c-section-text"> 
125                                    ${cur_caseStudyGroup.slice.getData()} 
126                                </div> 
127                            </#if> 
128                            <!-- [End] Slice --> 
129 
130 
131                            <!-- [Start] Captioned Image --> 
132                            <#if (cur_caseStudyGroup.captionedImage.getData())?? && cur_caseStudyGroup.captionedImage.getData() != ""> 
133                                <div class="c-captioned-image"> 
134                                    <div class="c-captioned-image__image"> 
135                                        <img class="img-fluid" alt="${cur_caseStudyGroup.captionedImage.getAttribute("alt")}" data-fileentryid="${cur_caseStudyGroup.captionedImage.getAttribute("fileEntryId")}" src="${cur_caseStudyGroup.captionedImage.getData()}" /> 
136                                    </div> 
137                                    <div class="c-captioned-image__body"> 
138                                        ${cur_caseStudyGroup.captionedImage.getAttribute("alt")} 
139                                    </div> 
140                                </div> 
141                            </#if> 
142                            <!-- [End] Captioned Image --> 
143												 
144<!-- [Start] Captioned Image Popup --> 
145<#if cur_caseStudyGroup.captionedImage.getData()??> 
146<div class="c-captioned-image-popup"> 
147	<div class="container"> 
148		<div class="c-captioned-image-popup__header"> 
149			<i class="c-icon c-icon--close c-captioned-image-popup__close"></i> 
150		</div> 
151		<img src="" alt="" class="c-captioned-image-popup__image" /> 
152	</div> 
153</div> 
154<div class="c-captioned-popup__backdrop"></div> 
155</#if> 
156<!-- [End] Captioned Image Popup -->												 
157 
158 
159                            <!-- [Start] Image Slider --> 
160                            <#if cur_caseStudyGroup.carouselImage.getSiblings()?has_content> 
161                                <div class="c-article-image-slider c-section--carousel-half slick-carousel slick-carousel--one-half-card ${rn}_Carousel"> 
162                                    <#list cur_caseStudyGroup.carouselImage.getSiblings() as cur_caseStudyGroup_carouselImage> 
163                                        <#if (cur_caseStudyGroup_carouselImage.getData())?has_content && cur_caseStudyGroup_carouselImage.getData()??> 
164                                            <div> 
165                                                <div class="c-image-placeholder"> 
166                                                    <img class="img-fluid" alt="${cur_caseStudyGroup_carouselImage.getAttribute("alt")}" data-fileentryid="${cur_caseStudyGroup_carouselImage.getAttribute("fileEntryId")}" src="${cur_caseStudyGroup_carouselImage.getData()}" /> 
167                                                </div> 
168                                            </div>   
169                                        </#if> 
170                                    </#list> 
171                                </div> 
172                            </#if> 
173                            <!-- [End] Image Slider --> 
174         
175										 
176                            <!-- [Start] Video --> 
177                            <#if (cur_caseStudyGroup.video.getData())?has_content> 
178                                <div class="c-video">     
179                                    <#if !cur_caseStudyGroup.video.getData()?contains("youtube") && !cur_caseStudyGroup.video.getData()?contains("vimeo")> 
180                                        <div class="c-video__disabled"> 
181                                            ${cur_caseStudyGroup.video.getData()} 
182                                        </div> 
183                                    <#else> 
184                                        ${cur_caseStudyGroup.video.getData()} 
185                                    </#if> 
186                                </div> 
187                            </#if> 
188                            <!-- [End] Video --> 
189 
190 
191                            <!-- [Start] Slice --> 
192                            <#if (cur_caseStudyGroup.slice01.getData())?has_content> 
193																<div class="c-section-text"> 
194                                    ${cur_caseStudyGroup.slice01.getData()} 
195                                </div> 
196                            </#if> 
197                            <!-- [End] Slice --> 
198                             
199										 
200                            <!-- [Start] Quotes --> 
201                             
202                                <#assign webContentData=jsonFactoryUtil.createJSONObject(cur_caseStudyGroup.quotes.getData()) /> 
203 
204                                <#if webContentData?? && webContentData.title??> 
205                                    <div class="c-quotes"> 
206                                    <#assign journalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
207                                    <#assign assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
208                                    <#assign asset=assetEntryLocalService.getEntry(webContentData.className, getterUtil.getLong(webContentData.classPK)) /> 
209                                    <#assign assetRenderer=asset.getAssetRenderer() journalArticle=assetRenderer.getAssetObject() /> 
210 
211                                    <@liferay_journal["journal-article"]  
212                                        articleId=journalArticle.getArticleId() 
213                                        ddmTemplateKey=journalArticle.getDDMTemplateKey()  
214                                        groupId=journalArticle.getGroupId()  
215                                    /> 
216                                    </div> 
217                                </#if> 
218                             
219                            <!-- [End] Quotes --> 
220 
221										 
222                            <!-- [Start] Slice --> 
223                            <#if (cur_caseStudyGroup.slice02.getData())?has_content> 
224																<div class="c-section-text"> 
225                                    ${cur_caseStudyGroup.slice02.getData()} 
226                                </div> 
227                            </#if> 
228                            <!-- [End] Slice --> 
229								 
230 
231                            <!-- [Start] Button --> 
232                            <#if (cur_caseStudyGroup.buttonText.getData())?has_content> 
233                                <a class="c-button c-button--secondary" data-senna-off="true" 
234                                    href="${cur_caseStudyGroup.buttonLink.getData()}"> 
235                                    ${cur_caseStudyGroup.buttonText.getData()} 
236                                </a> 
237                            </#if> 
238                            <!-- [End] Button --> 
239 
240                        </#list> 
241                    </#if>		 
242 
243                </div> 
244            </div> 
245        </div> 
246    </div> 
247</section> 
248<!-- [End] News Details --> 
249 
250<style> 
251.c-section .c-section { padding: 0; } 
252 
253.c-article-details a { 
254    color: #1e1836; 
255
256 
257.c-summary ul li,  
258.c-section-text ul li,  
259.c-rich-text ul li { 
260    display: block; 
261    position: relative; 
262    padding-left: 25px; 
263
264.c-summary ul li::before,  
265.c-section-text ul li::before,  
266.c-rich-text ul li::before { 
267    position: absolute; 
268    left: 0; 
269
270 
271.c-captioned-image { cursor: pointer; } 
272.c-captioned-image-popup { 
273    display: none; 
274		overflow-y: auto; 
275    position: fixed; 
276    top: 0; 
277		left: 0; 
278    width: 100%; 
279		height: 100%; 
280    z-index: 1045; 
281		padding: 32px 0; 
282
283.c-captioned-image-popup.open { 
284    display: block; 
285
286.c-captioned-image-popup__header { 
287    display: flex; 
288    justify-content: flex-end; 
289
290.c-captioned-image-popup__header .c-icon--close { 
291    cursor: pointer; 
292
293.c-captioned-image-popup__image { 
294    width: 100%; 
295
296.c-captioned-popup__backdrop { 
297    display: none; 
298    position: fixed; 
299    top: 0; 
300    left: 0; 
301    z-index: 1040; 
302    width: 100vw; 
303    height: 100vh; 
304    background-color: rgba(0, 0, 0, 0.25); 
305
306 
307@media (min-width: 1200px) { 
308    .c-text-block-head__title { 
309        font-size: 42px; 
310
311
312</style> 
313 
314<script> 
315    $(document).ready(function () { 
316        $('.${rn}_Carousel').slick({ 
317            slidesToShow: 1.5, 
318            slidesToScroll: 1, 
319            arrows: true, 
320            dots: true, 
321            infinite: false, 
322            accessibility: false, 
323            responsive: [ 
324
325                    breakpoint: 600, 
326                    settings: { 
327                        arrows: false, 
328                        slidesToShow: 1 
329
330
331
332        }); 
333				 
334        // Remove unwanted html for white space 
335        let childElement = $('.${rn}_Carousel .slick-track').children(); 
336        if(childElement.length < 1) { 
337            $('.${rn}_Carousel').remove();  
338
339		 
340		// Captioned Image Popup 
341		$('.c-captioned-image-popup').not(':first').remove(); 
342		$('.c-captioned-popup__backdrop').not(':first').remove(); 
343 
344		const winWidth = $(window).width(); 
345		 
346		if(winWidth > 992) { 
347			$('body').on('click', '.c-captioned-image', function() { 
348				let imgSource = $(this).children('.c-captioned-image__image').find('img').attr('src'); 
349				//console.log($(this).children('.c-captioned-image__image').find('img').attr('src')); 
350				$('body').css('overflow', 'hidden'); 
351				$('.c-captioned-popup__backdrop').show(); 
352				$('.c-captioned-image-popup').addClass('open'); 
353				$('.c-captioned-image-popup__image').attr('src', imgSource); 
354			}); 
355			 
356			$('.c-captioned-image-popup__close').click(function(){ 
357			  $('body').attr('style', ''); 
358			  $('.c-captioned-popup__backdrop').hide(); 
359				$('.c-captioned-image-popup').removeClass('open');		 
360				$('.c-captioned-image-popup__image').attr('src', ''); 
361			}); 
362
363		 
364    }); 
365</script> 

Version

Version:
BREEAM USA In-Use
Year:
2016
Client:
MetLife Investment Management
Assessor:
UL (formerly Healthy Buildings, Inc.)
Building manager:
Cushman & Wakefield
Tenant:
MediaTek USA, Inc
BREEAM rating:
Good (54.4%)

Asset Publisher

Asset Publisher