Web Content Display
An error occurred while processing the template.
Error on line 807, column 61 in 20155#20195#41248
layoutLocalService.getLayoutByUuidAndGroupId(layoutUuid, groupId, false) is undefined.
It cannot be assigned to layout
1<#-- 
2    article.ftl: Format the article structure 
3 
4    Created:    2015-08-28 17:50 by Christian Berndt 
5    Modified:   2016-11-22 11:06 by Christian Berndt 
6    Version:    1.4.1 
7 
8    Please note: Although this template is stored in the 
9    site's context it's source is managed via git. Whenever you 
10    change the template online make sure that you commit your 
11    changes to the flussbad-modules repo, too. 
12--> 
13 
14<#-- Import required services --> 
15<#assign articleService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleService") /> 
16<#assign assetEntryService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService") /> 
17<#assign assetLinkService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetLinkLocalService") /> 
18<#assign categoryService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService") /> 
19<#assign fileEntryService  = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService") /> 
20<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService") /> 
21<#assign propertyService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryPropertyService") /> 
22 
23<#assign currentURL = ""> 
24<#assign groupURL = "" /> 
25<#assign layout = ""/> 
26<#assign namespace = "" /> 
27<#assign pathFriendlyURL = "" /> 
28<#assign plid = "0" /> 
29<#assign themeDisplay = "" /> 
30<#assign instanceId = "" /> 
31<#assign numRelated = 5 /> 
32 
33<#-- request['theme-display'] is not available in search --> 
34<#if request['theme-display']?? > 
35    <#assign namespace = request['portlet-namespace'] /> 
36    <#assign instanceId = namespace?substring(14, namespace?length-1) /> 
37    <#assign themeDisplay = request['theme-display'] /> 
38    <#assign plid = themeDisplay['plid'] /> 
39    <#assign pathFriendlyURL = themeDisplay['path-friendly-url-public'] /> 
40</#if> 
41 
42<#assign articleId = getterUtil.getString(.vars['reserved-article-id'].data) /> 
43<#assign article = articleService.getArticle(groupId, articleId) /> 
44<#assign classPK =  article.getResourcePrimKey() /> 
45<#assign categories = categoryService.getCategories("com.liferay.portlet.journal.model.JournalArticle", classPK) /> 
46<#assign language_id = languageUtil.getLanguageId(locale) /> 
47<#assign layoutFriendlyURL = "" /> 
48 
49<#-- Retrieve the article's asset links --> 
50<#assign assetEntry = assetEntryService.fetchEntry("com.liferay.portlet.journal.model.JournalArticle", classPK) /> 
51<#assign entryId = assetEntry.entryId /> 
52<#assign assetLinks = assetLinkService.getDirectLinks(entryId) /> 
53 
54<#if plid?number gt 0 > 
55    <#assign layout = layoutLocalService.getLayout(plid?number) /> 
56    <#assign groupURL = layout.group.friendlyURL /> 
57    <#assign layoutFriendlyURL = layout.friendlyURL /> 
58</#if> 
59 
60<#if request.attributes?? > 
61    <#assign currentURL = request.attributes['CURRENT_URL']/> 
62</#if> 
63 
64<#assign pathAndGroupURL = pathFriendlyURL + groupURL /> 
65 
66<#-- with virtualhost configured --> 
67<#assign prefix = "" /> 
68 
69<#-- without virtualhost configured --> 
70<#if currentURL?starts_with(pathFriendlyURL)> 
71    <#assign prefix = pathAndGroupURL /> 
72</#if> 
73 
74<#assign layout_url = prefix + layoutFriendlyURL /> 
75 
76<#assign cssClass = "" /> 
77<#assign displayDownload = false /> 
78<#assign displayRelatedAssets = true /> 
79<#assign displayToc = false /> 
80<#assign hasKeyVisual = false /> 
81 
82<#if showDownload?? > 
83    <#if showDownload.getData()?has_content> 
84        <#if getterUtil.getBoolean(showDownload.getData())> 
85            <#assign displayDownload = getterUtil.getBoolean(showDownload.getData()) /> 
86        </#if> 
87    </#if> 
88</#if> 
89 
90<#if showRelatedAssets?? > 
91    <#if !showRelatedAssets.getData()?has_content> 
92        <#assign displayRelatedAssets = false />    
93    </#if> 
94</#if> 
95 
96<#if showToc?? > 
97    <#if showToc.getData()?has_content> 
98        <#if getterUtil.getBoolean(showToc.getData())> 
99            <#assign displayToc = getterUtil.getBoolean(showToc.getData()) /> 
100        </#if> 
101    </#if> 
102</#if> 
103 
104<#if keyVisual??> 
105    <#if keyVisual.getData()?has_content> 
106        <#assign hasKeyVisual = true /> 
107        <#assign style = "background-image: url('${keyVisual.getData()}&imageThumbnail=3');" /> 
108    </#if> 
109</#if> 
110 
111<#if hasKeyVisual > 
112    <#assign cssClass = "with-keyvisual" /> 
113<#else> 
114    <#assign cssClass = "without-keyvisual" /> 
115</#if> 
116 
117<#-- Setup the modal slideshow --> 
118 
119<#assign assetSearchTool=utilLocator.findUtil("freemarker-tools-hook", "ch.inofix.hook.fmtools.AssetSearchTool")> 
120<#assign groupIds = [groupId] /> 
121<#assign userId = getterUtil.getLong(request['remote-user']) /> 
122<#assign className = "" /> 
123<#assign userName = "" /> 
124<#assign title = "" /> 
125<#assign description = "" /> 
126<#assign assetCategoryIds = "" /> 
127<#assign assetTagNames = "" /> 
128<#assign anyTag = true /> 
129<#assign status = 0 /> 
130<#assign andSearch = true /> 
131<#assign start = 0 /> 
132<#assign end = 20 /> 
133 
134<#assign assetEntries = [] /> 
135   
136<#if tags??> 
137    <#if tags.getData()?has_content> 
138        <#assign assetTagNames = tags.getData() /> 
139        <#assign assetEntries = assetSearchTool.search(companyId, groupIds, userId, permissionChecker, className, userName, title, description, assetCategoryIds, assetTagNames, anyTag, status, andSearch, start, end) /> 
140    </#if> 
141</#if> 
142 
143<#assign filteredEntries = [] /> 
144 
145<#list assetEntries as assetEntry> 
146     
147    <#assign assetEntry = assetEntry /> 
148    <#assign assetRenderer = assetEntry.assetRenderer /> 
149    <#assign className = assetRenderer.className />               
150     
151    <#if "com.liferay.portlet.journal.model.JournalArticle" == className > 
152     
153        <#assign docXml = saxReaderUtil.read(assetEntry.getAssetRenderer().getArticle().getContent()) /> 
154         
155        <#assign service = value_of(docXml, "service", language_id) /> 
156        <#assign url = value_of(docXml, "url", language_id) /> 
157         
158        <#if url?has_content> 
159         
160            <#assign filteredEntries = filteredEntries + [assetEntry] /> 
161                             
162        </#if> 
163         
164    <#elseif "com.liferay.portlet.documentlibrary.model.DLFileEntry" == className > 
165 
166        <#assign fileEntry = fileEntryService.getFileEntry(assetEntry.classPK) /> 
167         
168        <#assign formats = ["gif", "jpg", "png", "tif"] /> 
169         
170        <#list formats as format> 
171         
172            <#if fileEntry.extension?lower_case == format > 
173     
174                <#assign filteredEntries = filteredEntries + [assetEntry] /> 
175                 
176            </#if> 
177         
178        </#list> 
179            
180    </#if> 
181     
182</#list> 
183 
184<#function value_of docXml field language_id> 
185    <#local default_language_id = docXml.valueOf("/root/@default-locale") /> 
186    <#local value = docXml.valueOf("//dynamic-element[@name='" + field + "']/dynamic-content[@language-id='"+ language_id + "']/text()") /> 
187    <#if !value?has_content> 
188        <#local value = docXml.valueOf("//dynamic-element[@name='" + field + "']/dynamic-content[@language-id='"+ default_language_id + "']/text()") /> 
189    </#if> 
190    <#return value /> 
191</#function> 
192 
193<#macro images section>    
194    <#if section.image.getSiblings()?has_content> 
195        <#assign j = 1 /> 
196        <#list section.image.getSiblings() as cur_image > 
197            <#assign path = "${cur_image.getData()}" /> 
198            <#if path?has_content> 
199                <img id="story-image-${i}-${j}" data-src="${path}&imageThumbnail=3"/> 
200                <#if cur_image.caption??> 
201                    <div class="caption">${cur_image.caption.getData()}</div> 
202                </#if> 
203             </#if> 
204             <#assign j = j+1 />  
205        </#list> 
206    </#if> 
207</#macro> 
208 
209<#macro video section> 
210    <#if section.url?has_content> 
211        <#if section.url.getData()?has_content>   
212         
213            <#assign config = "&format=json" />     
214            <#assign embed_url = section.service.getData() + section.url.getData() + config /> 
215            <#assign embed_url = httpUtil.encodeURL(embed_url) /> 
216             
217            <div id="${namespace}_${i}_video" class="video">&nbsp;</div> 
218             
219            <script> 
220            <!--        
221                var ${namespace}_${i}_oEmbedURL = "${layout_url}?p_p_id=proxyportlet_WAR_proxyportlet&p_p_lifecycle=2&_proxyportlet_WAR_proxyportlet_embedURL= ${embed_url}"; 
222                                                              
223                $( document ).ready(function() {             
224                    ${namespace}_${i}_loadFrame();             
225                }); 
226                 
227                function ${namespace}_${i}_loadFrame() { 
228                 
229                    /** 
230                     * oEmbed 
231                     */ 
232                    $.get( ${namespace}_${i}_oEmbedURL, function( str ) { 
233                     
234                         var data = JSON.parse(str); 
235                         var html = data.html; 
236                         var videoHeight = data.height;  
237                         var videoWidth = data.width;  
238                          
239                         var windowWidth = $(window).width(); 
240                          
241                         // set size of youtube iframe  
242                         var width = windowWidth;  
243                                                                                                   
244                         width = 770;              // bootstrap span8 
245                          
246                         if (windowWidth < 1200) { 
247                             width = 620;           // bootstrap span8 
248
249                         if (windowWidth < 980) { 
250                            width = windowWidth - 30;    // 100% - padding 
251                         }                      
252                         if (windowWidth < 768) { 
253                            width = windowWidth - 30;    // 100% - padding 
254                         }                    
255                                  
256                         // set width of vimeo iframe 
257                         html = html.replace("1280", "100%");       // vimeo 
258                          
259                         var height = (width / 16) * 9; 
260                          
261                         // youtube sizes its videos with the iframe 
262                         html = html.replace(videoWidth, width);        // youtube default width 
263                         html = html.replace(videoHeight, height);      // youtube default height 
264                                           
265                         $("#${namespace}_${i}_video").html(html);                   
266                              
267                    });           
268                };         
269            --> 
270            </script>                                         
271             
272        </#if> 
273    </#if>                              
274 
275</#macro> 
276 
277 
278<!-- Modal slideshow --> 
279<div class="modal slideshow fade" id="modalSlideshow" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
280    <div class="modal-dialog" role="document"> 
281        <div class="modal-content"> 
282            <div class="modal-body"> 
283                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
284                <div id="slider" class="flexslider"> 
285                    <ul class="slides"> 
286                                     
287                        <#if filteredEntries?has_content>  
288                                                  
289                            <#assign i = 1 />  
290                                             
291                            <#list filteredEntries as entry> 
292                             
293                                <li class="item"> 
294                             
295                                    <#assign entry = entry /> 
296                                    <#assign assetRenderer = entry.assetRenderer /> 
297                                    <#assign className = assetRenderer.className />               
298                                 
299                                    <#if "com.liferay.portlet.journal.model.JournalArticle" == className > 
300                                                                             
301                                        <#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) /> 
302                                         
303                                        <#assign service = value_of(docXml, "service", language_id) /> 
304                                        <#assign url = value_of(docXml, "url", language_id) /> 
305                                        
306                                        <#assign viewURL = ""/> 
307                                        <#assign assetRenderer = entry.getAssetRenderer() /> 
308                                         
309                                        <#if url?has_content> 
310                                         
311                                            <#assign config = "&format=json" />     
312                                            <#assign embed_url = service + url + config /> 
313                                            <#assign embed_url = httpUtil.encodeURL(embed_url) /> 
314                                            <div class="video-wrapper"> 
315                                                <div id="${namespace}_${i}_video" class="video">&nbsp;</div>  
316                                            </div>                             
317                                        <#else> 
318                                            <div class="none"> 
319                                                Only structures of type "Video" can be displayed 
320                                                in the Media Gallery. 
321                                            </div> 
322                                        </#if> 
323                                     
324                                    <#elseif "com.liferay.portlet.documentlibrary.model.DLFileEntry" == className > 
325                     
326                                        <#assign fileEntry = fileEntryService.getFileEntry(entry.classPK) />                 
327                                        <#assign latestFileVersion = fileEntry.getFileVersion() /> 
328                                        <#assign latestFileVersionStatus = latestFileVersion.getStatus() /> 
329                                        <#assign fileTitle = httpUtil.encodeURL(htmlUtil.unescape(latestFileVersion.getTitle())) /> 
330                                     
331                                        <#assign imgSrc = "/documents/" + groupId + "/" + fileEntry.folder.folderId + "/" + fileTitle />  
332                                        <#assign caption = latestFileVersion.getDescription() /> 
333                                        <div class="image-wrapper"> 
334                                            <img src="${imgSrc}?imageThumbnail=3" /> 
335                                            <#if caption?has_content > 
336                                                <div class="caption" style="display: none;">${caption}</div> 
337                                            </#if>                                 
338                                        </div> 
339                                         
340                                    <#else> 
341                                        <div class="none"> 
342                                            This is neither a video nor a document.   
343                                        </div>               
344                                    </#if> 
345                                     
346                                    <#assign i = i+1 />  
347                                 
348                                </li>                    
349                     
350                            </#list> 
351                        </#if> 
352                    </ul> 
353                </div>                                         
354            </div> 
355        </div> 
356    </div> 
357</div> 
358 
359<div class="story ${cssClass}"> 
360    <#if hasKeyVisual> 
361        <div class="keyvisual" style="${style}"></div> 
362    </#if> 
363    <div class="container"> 
364        <#assign cssStyle = "content span8 offset2" /> 
365         
366        <#if displayToc > 
367            <#assign cssStyle = "content span8" />        
368        </#if>   
369 
370        <#if hasKeyVisual > 
371            <#if displayToc > 
372                <#assign cssStyle = "content span8 offset1" />  
373            <#else> 
374                <#assign cssStyle = "content span8 offset2" />              
375            </#if>       
376        </#if>       
377 
378        <div class="${cssStyle}"> 
379         
380            <#if categories?size gt 0 > 
381                <ul> 
382                    <#list categories as category > 
383                     
384                        <#assign properties = propertyService.getCategoryProperties(category.getCategoryId()) /> 
385                        <#assign layoutUuid = ""/> 
386                        <#assign categoryURL = "" /> 
387                        <#assign queryString = "" /> 
388                        <#list properties as property> 
389                            <#if property.key == "queryString"> 
390                                <#assign queryString =  "?" + property.value?replace("--", "=") />                                                        
391                                <#assign queryString =  queryString?replace("$$", "&") />                                                        
392                            </#if>  
393                            <#if property.key == "layoutUuid"> 
394                                <#assign layoutUuid = property.value /> 
395                                <#assign layout = layoutLocalService.getLayoutByUuidAndGroupId(layoutUuid, groupId, false) /> 
396                                <#assign groupURL = layout.getGroup().getFriendlyURL() /> 
397                                <#assign categoryURL = prefix + layout.friendlyURL /> 
398                            </#if> 
399                        </#list> 
400                         
401                        <#if layoutUuid?has_content > 
402                            <li> 
403                                <h3 class="category"><a href="${categoryURL + queryString}">${category.getTitle(language_id)}</a></h3> 
404                            </li> 
405                        </#if> 
406                    </#list> 
407                </ul> 
408            </#if> 
409             
410            <#if headline??> 
411                <#if headline.getData()?has_content> 
412                    <h1 id="section-0">${headline.getData()}</h1> 
413                </#if> 
414            </#if> 
415            <p class="lead">${teaser.getData()}</p> 
416            <#if section?? > 
417                <#if section.getSiblings()?has_content> 
418                    <#assign i = 1 /> 
419                    <#list section.getSiblings() as cur_section> 
420                     
421                        <#assign imageAboveTheText = false /> 
422                         
423                        <#if cur_section.imageAboveTheText??> 
424                            <#assign imageAboveTheText = getterUtil.getBoolean(cur_section.imageAboveTheText.getData()) /> 
425                        </#if> 
426                     
427                        <#if cur_section.getData()?has_content || (cur_section.body?? && cur_section.body.getData()?has_content) > 
428                             
429                            <div class="section" id="section-${i}"> 
430                             
431                                <#if cur_section.getData()?has_content> 
432                                    <h2>${cur_section.getData()}</h2> 
433                                </#if> 
434                                 
435                                <#if imageAboveTheText > 
436                                 
437                                    <@video cur_section/> 
438                                     
439                                    <@images cur_section/> 
440                                     
441                                    <#if cur_section.body??> 
442                                        <#if cur_section.body.getData()?has_content>                                 
443                                            <div class="section-body">${cur_section.body.getData()}</div> 
444                                        </#if> 
445                                    </#if> 
446                                     
447                                <#else> 
448      
449                                    <#if cur_section.body??> 
450                                        <#if cur_section.body.getData()?has_content>                             
451                                            <div class="section-body">${cur_section.body.getData()}</div> 
452                                        </#if> 
453                                    </#if> 
454                                     
455                                    <@video cur_section/> 
456                                     
457                                    <@images cur_section/> 
458                                                                   
459                                </#if> 
460                                 
461                            </div> 
462                        </#if> 
463                        <#assign i = i+1 /> 
464                    </#list> 
465                </#if> 
466            </#if> 
467             
468            <#if filteredEntries?has_content> 
469                <div class="template gallery media"> 
470                    <#assign i = 1 />  
471                     
472                    <div class="row-fluid">           
473                         
474                    <#list filteredEntries as entry> 
475                     
476                        <div class="span6"> 
477                     
478                        <#assign entry = entry /> 
479                        <#assign assetRenderer = entry.assetRenderer /> 
480                        <#assign className = assetRenderer.className />               
481                     
482                        <#if "com.liferay.portlet.journal.model.JournalArticle" == className > 
483                                             
484                            <#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) /> 
485                             
486                            <#assign service = value_of(docXml, "service", language_id) /> 
487                            <#assign url = value_of(docXml, "url", language_id) /> 
488                            
489                            <#assign viewURL = ""/> 
490                            <#assign assetRenderer = entry.getAssetRenderer() /> 
491                             
492                            <#if url?has_content> 
493                             
494                                <#assign config = "&format=json" />     
495                                <#assign embed_url = service + url + config /> 
496                                <#assign embed_url = httpUtil.encodeURL(embed_url) /> 
497                                                         
498                                <a href="javascript:;" data-toggle="modal" data-target="#modalSlideshow" data-index="${i}"> 
499                                 
500                                    <div id="${namespace}_${i}_video_thumbnail" class="video-wrapper"> 
501                                        <#-- <span class="icon-youtube-play"></span> --> 
502                                        <span class="icon icon-play-sign"></span> 
503                                    </div> 
504                                </a> 
505                                                             
506                                <script> 
507                                <!--        
508                                    var ${namespace}_${i}_oEmbedURL = "${layout_url}?p_p_id=proxyportlet_WAR_proxyportlet&p_p_lifecycle=2&_proxyportlet_WAR_proxyportlet_embedURL= ${embed_url}"; 
509                                                                                  
510                                    $( document ).ready(function() {             
511                                        ${namespace}_${i}_loadFrame();             
512                                    }); 
513                                     
514                                    function ${namespace}_${i}_loadFrame() { 
515                                     
516                                        /** 
517                                         * oEmbed 
518                                         */ 
519                                        $.get( ${namespace}_${i}_oEmbedURL, function( str ) { 
520         
521                                            var data = JSON.parse(str); 
522                                            var html = data.html; 
523                                            var provider_name = data.provider_name; 
524                                            var thumbnail_url = data.thumbnail_url; 
525                                            var title = data.title; 
526                                                                                 
527                                            var videoHeight = data.height;  
528                                            var videoWidth = data.width; 
529                                                     
530                                            var scale = 0.9; 
531                                            var buttonWidth = 40; 
532                                                                                  
533                                            var boxWidth = $(window).width() * scale - buttonWidth; 
534                                            var boxHeight = $(window).height() * scale;  
535                                            var boxRatio = boxWidth / boxHeight;                                    
536                                                                                  
537                                            // set the size of the embedded video iframes 
538                                            var width = boxWidth; 
539                                            var height = boxHeight; 
540                                                                                                                        
541                                            // preserve the videos ratio  
542                                            var videoRatio = videoWidth / videoHeight;                                    
543                                             
544                                            if (videoRatio > boxRatio) { 
545                                                width = boxWidth; 
546                                                var ratio = videoWidth / boxWidth;  
547                                                height = videoHeight / ratio; 
548                                            } else { 
549                                                height = boxHeight; 
550                                                var ratio = videoHeight / boxHeight;  
551                                                width = videoWidth / ratio; 
552                                            }                                 
553                                                                                 
554                                            html = html.replace(videoWidth, width);  
555                                            html = html.replace(videoHeight, height); 
556                                              
557                                            // load the thumbnail into the gallery 
558                                            var style = 'background-image: url("' +  thumbnail_url + '");';                                                     
559                                            $("#${namespace}_${i}_video_thumbnail").attr("style", style); 
560                                             
561                                            // insert the title as a caption after the video-wrapper 
562                                            var caption = '<div class="caption">' + title + '</div>';  
563                                            $(caption).insertAfter($("#${namespace}_${i}_video_thumbnail"));  
564                                             
565                                            // and load the video frame into the slider                  
566                                            $("#${namespace}_${i}_video").html(html);                   
567                                                  
568                                        });           
569                                    };         
570                                --> 
571                                </script>  
572                             
573                            <#else> 
574                                <div class="none"> 
575                                    Only structures of type "Video" can be displayed 
576                                    in the Media Gallery. 
577                                </div> 
578                            </#if> 
579                         
580                        <#elseif "com.liferay.portlet.documentlibrary.model.DLFileEntry" == className > 
581                         
582                            <#assign fileEntry = fileEntryService.getFileEntry(entry.classPK) /> 
583                            <#assign latestFileVersion = fileEntry.getFileVersion() /> 
584                            <#assign latestFileVersionStatus = latestFileVersion.getStatus() /> 
585                            <#assign title = httpUtil.encodeURL(htmlUtil.unescape(latestFileVersion.getTitle())) /> 
586                         
587                            <#assign style = "background-image: url('/documents/" + groupId + "/" + fileEntry.folder.folderId + "/" + title + "?imageThumbnail=3');" />  
588                            <#assign caption = latestFileVersion.getDescription() />   
589                            <#assign downloadURL = "/documents/" + groupId + "/" + fileEntry.folder.folderId + "/" + title + "?download=true" />             
590                                             
591                            <a href="javascript:;" data-toggle="modal" data-target="#modalSlideshow" data-index="${i}"> 
592                                <div class="image-wrapper" style="${style}">&nbsp;</div>                       
593                            </a> 
594                            <#if caption?has_content > 
595                                <span class="caption">${caption}</span> 
596                            </#if>                               
597                            <#if displayDownload > 
598                                <a href="${downloadURL}" title="<@liferay.language key="download" />" class="download"><span class="icon icon-download"></span></a> 
599                            </#if>                   
600                                                 
601                        <#else> 
602                         
603                            <div class="none">This is neither a video nor a document.</div> 
604                            
605                        </#if> 
606                         
607                        </div> <#-- /.span6 -->            
608                         
609                        <#if i%2 == 0 && i gt 0 > 
610                            </div> 
611                            <div class="row-fluid"> 
612                        </#if> 
613                         
614                        <#assign i = i+1 />                     
615             
616                    </#list> 
617                     
618                    </div> <#-- / .row-fluid --> 
619                     
620                </div> <#-- /.media --> 
621            </#if>             
622             
623            <#-- Include the common social-media snippet -->          
624            <#include "${templatesPath}/72079" />  
625 
626                           
627        </div> <#-- / .span8 --> 
628         
629        <#if displayToc> 
630            <#if hasKeyVisual > 
631                <#assign cssClass = "span3" /> 
632            <#else> 
633                <#assign cssClass = "span4" />             
634            </#if> 
635         
636            <div class="${cssClass}"> 
637                <div class="toc"> 
638                    <ul class="nav nav-list">                         
639                        <#if section.getSiblings()?has_content> 
640                            <#assign i = 1 /> 
641                            <#list section.getSiblings() as cur_section > 
642                                <#assign label = cur_section.getData() /> 
643                                <#if cur_section.label??> 
644                                    <#if cur_section.label.getData()?has_content> 
645                                        <#assign label = cur_section.label.getData() />  
646                                    </#if> 
647                                </#if> 
648                                <#if label?has_content > 
649                                    <li class=""> 
650                                        <a href="#section-${i}">${label}</a> 
651                                    </li> 
652                                </#if> 
653                                <#assign i = i+1 /> 
654                            </#list> 
655                        </#if> 
656                    </ul> 
657                </div> <#-- / .toc --> 
658            </div> <#-- / .span3 / 4 --> 
659        </#if> 
660    </div> <#-- / .container --> 
661     
662    <#-- Related Assets --> 
663     
664    <#if displayRelatedAssets>  
665     
666        <#assign galleryEntries = [] /> 
667        <#assign listEntries = [] /> 
668        <#assign linkEntries = [] /> 
669         
670        <#list assetLinks as assetLink> 
671             
672            <#assign linkEntryId = 0 /> 
673             
674            <#if assetLink.entryId1 == entryId > 
675                <#assign linkEntryId = assetLink.entryId2 />                             
676            <#else> 
677                <#assign linkEntryId = assetLink.entryId1 />                             
678            </#if> 
679             
680            <#assign linkEntry = assetEntryService.getEntry(linkEntryId) /> 
681             
682            <#assign className = portalUtil.getClassName(linkEntry.getClassNameId()) /> 
683             
684            <#if "com.liferay.portlet.journal.model.JournalArticle" == className> 
685             
686                <#assign assetRenderer = linkEntry.assetRenderer /> 
687                <#assign linkArticle = assetRenderer.article /> 
688                <#assign docXml = saxReaderUtil.read(linkArticle.content) /> 
689                <#assign headline = value_of(docXml, "headline", language_id) /> 
690                <#assign keyVisual = value_of(docXml, "keyVisual", language_id) /> 
691                 
692                <#if keyVisual?has_content> 
693                 
694                    <#assign galleryEntries = galleryEntries + [linkEntry] />  
695                 
696                <#else> 
697                    <#if headline?has_content>                 
698                        <#assign listEntries = listEntries + [linkEntry] />               
699                    </#if>           
700                </#if> 
701                 
702                <#assign linkEntries = linkEntries + [linkEntry] />  
703             
704            </#if>   
705             
706        </#list> 
707         
708        <#-- Fill the gallery- and listEntries lists with    --> 
709        <#-- assetEntries of the current entry's primary category. --> 
710         
711                 
712        <#assign andSearch = false /> 
713        <#assign anyTag = false /> 
714        <#assign assetTagNames = "" /> 
715        <#assign assetCategoryIds = "" /> 
716        <#assign className = "com.liferay.portlet.journal.model.JournalArticle" /> 
717        <#assign title = "" /> 
718         
719        <#if categories?size gt 0> 
720            <#assign category = categories?first /> 
721            <#assign assetCategoryIds = category.categoryId?string /> 
722        </#if> 
723             
724        <#assign categoryEntries = assetSearchTool.search(companyId, groupIds, userId, permissionChecker, className, userName, title, description, assetCategoryIds, assetTagNames, anyTag, status, andSearch, 0, 20) /> 
725      
726        <#list categoryEntries as categoryEntry> 
727             
728            <#if categoryEntry.assetRenderer??> 
729                <#assign assetRenderer = categoryEntry.assetRenderer /> 
730                <#assign linkArticle = assetRenderer.article /> 
731                <#assign docXml = saxReaderUtil.read(linkArticle.content) /> 
732                <#assign headline = value_of(docXml, "headline", language_id) /> 
733                <#assign keyVisual = value_of(docXml, "keyVisual", language_id) /> 
734                 
735                <#if assetEntry.entryId != categoryEntry.entryId > 
736                    <#if keyVisual?has_content>                     
737                        <#if !galleryEntries?seq_contains(categoryEntry) > 
738                            <#assign galleryEntries = galleryEntries + [categoryEntry] /> 
739                        </#if>                
740                    <#else>     
741                        <#if headline?has_content>       
742                            <#if !listEntries?seq_contains(categoryEntry) >          
743                                <#assign listEntries = listEntries + [categoryEntry] /> 
744                            </#if>   
745                        </#if>                
746                    </#if>                
747                </#if>               
748            </#if>               
749        </#list> 
750         
751        <#if galleryEntries?size gt 0 || listEntries?size gt 0> 
752            <div class="asset-links"> 
753                <div class="container"> 
754                    <div class="span12"> 
755                        <h3><@liferay.language key="you-might-be-interested-in-these-articles-too" /></h3> 
756                    </div> 
757                </div> 
758                 
759                <#if galleryEntries?size gt 0> 
760                 
761                    <div class="container gallery"> 
762                     
763                        <#assign i=0 /> 
764                     
765                        <#list galleryEntries?sort_by("publishDate")?reverse as linkEntry> 
766                             
767                            <#assign className = portalUtil.getClassName(linkEntry.getClassNameId()) /> 
768                             
769                            <#if "com.liferay.portlet.journal.model.JournalArticle" == className> 
770                             
771                                <#assign assetRenderer = linkEntry.assetRenderer /> 
772                                <#assign linkArticle = assetRenderer.article /> 
773                                <#assign docXml = saxReaderUtil.read(linkArticle.content) /> 
774                                <#assign headline = value_of(docXml, "headline", language_id) /> 
775                                <#assign keyVisual = value_of(docXml, "keyVisual", language_id) /> 
776                                <#assign viewURL = layout_url + "/-/asset_publisher/" + instanceId + "/content/" + assetRenderer.urlTitle >                    
777                                 
778                                <#if linkArticle.layoutUuid?has_content> 
779                                    <#assign viewURL = prefix + "/-/" + assetRenderer.urlTitle /> 
780                                </#if> 
781                                 
782                                <#assign categories = categoryService.getCategories("com.liferay.portlet.journal.model.JournalArticle", linkArticle.resourcePrimKey) /> 
783                                 
784                                <#if i lt 3> 
785     
786                                    <div class="span4"> 
787                                     
788                                        <#if keyVisual?has_content> 
789                                            <#assign style = "background-image: url('${keyVisual}&imageThumbnail=3');" /> 
790                                            <div class="keyvisual" style="${style}"></div> 
791                                        </#if> 
792                                         
793                                        <#if categories?size gt 0 > 
794                                            <div class="categories"> 
795                                                <#list categories as category > 
796                                                    <#assign properties = propertyService.getCategoryProperties(category.getCategoryId()) /> 
797                                                    <#assign layoutUuid = ""/> 
798                                                    <#assign categoryURL = "#" /> 
799                                                    <#assign queryString = "" /> 
800                                                    <#list properties as property> 
801                                                        <#if property.key == "queryString"> 
802                                                            <#assign queryString =  "?" + property.value?replace("--", "=") />                                                        
803                                                            <#assign queryString =  queryString?replace("$$", "&") />                                                        
804                                                        </#if>    
805                                                        <#if property.key == "layoutUuid"> 
806                                                            <#assign layoutUuid = property.value /> 
807                                                            <#assign layout = layoutLocalService.getLayoutByUuidAndGroupId(layoutUuid, groupId, false) /> 
808                                                            <#assign groupURL = layout.getGroup().getFriendlyURL() /> 
809                                                            <#assign categoryURL = prefix + layout.friendlyURL /> 
810                                                        </#if> 
811                                                    </#list> 
812                                                    <#if layoutUuid?has_content > 
813                                                        <a href="${categoryURL + queryString}" class="category"><span>${category.getTitle(language_id)}</span></a> 
814                                                    </#if> 
815                                                </#list> 
816                                            </div> 
817                                        </#if>                                 
818                                     
819                                        <#if headline?has_content> 
820                                            <h2><a href="${viewURL}">${headline}</a></h2> 
821                                        </#if> 
822                                         
823                                    </div> 
824                                </#if>  
825                                <#assign i=i+1 />                  
826                            </#if> 
827                        </#list> 
828                    </div> <#-- / .container --> 
829                </#if> 
830                 
831                <#if galleryEntries?size gt 0 && listEntries?size gt 0 > 
832                    <div class="container"> 
833                        <div class="separator"></div> 
834                    </div> 
835                </#if>  
836                 
837                <#if listEntries?size gt 0> 
838                    <div class="list">   
839                     
840                        <#assign i=0 /> 
841                                 
842                        <#list listEntries?sort_by("publishDate")?reverse as linkEntry> 
843                             
844                            <#assign className = portalUtil.getClassName(linkEntry.getClassNameId()) /> 
845                             
846                            <#if "com.liferay.portlet.journal.model.JournalArticle" == className> 
847                             
848                                <#assign assetRenderer = linkEntry.assetRenderer /> 
849                                <#assign linkArticle = assetRenderer.article /> 
850                                <#assign docXml = saxReaderUtil.read(linkArticle.content) /> 
851                                <#assign headline = value_of(docXml, "headline", language_id) /> 
852                                <#assign teaser = value_of(docXml, "teaser", language_id) /> 
853                                <#assign summary = linkEntry.getSummary(locale) /> 
854                                <#if teaser?has_content> 
855                                    <#assign summary = teaser /> 
856                                </#if> 
857                                 
858                                <#assign viewURL = layout_url + "/-/asset_publisher/" + instanceId + "/content/" + assetRenderer.urlTitle >                                                                        
859                                 
860                                <#if linkArticle.layoutUuid?has_content> 
861                                    <#assign viewURL = prefix + "/-/" + assetRenderer.urlTitle /> 
862                                </#if> 
863                                 
864                                <#assign categories = categoryService.getCategories("com.liferay.portlet.journal.model.JournalArticle", linkArticle.resourcePrimKey) />                         
865                             
866                                <#if i lt 3 && headline?has_content > 
867                                    <div class="asset-abstract"> 
868                                        <div class="container"> 
869                                            <div class="span4"> 
870                                                <span class="date">${dateUtil.getDate(linkEntry.publishDate, "dd MMM yyyy", locale)}</span> 
871                                                <#if categories?size gt 0 > 
872                                                    <#list categories as category > 
873                                                     
874                                                        <#assign properties = propertyService.getCategoryProperties(category.getCategoryId()) /> 
875                                                        <#assign layoutUuid = ""/> 
876                                                        <#assign categoryURL = "#" /> 
877                                                        <#assign queryString = "" /> 
878                                                        <#list properties as property> 
879                                                            <#if property.key == "queryString"> 
880                                                                <#assign queryString =  "?" + property.value?replace("--", "=") />                                                        
881                                                                <#assign queryString =  queryString?replace("$$", "&") />                                                        
882                                                            </#if> 
883                                                            <#if property.key == "layoutUuid"> 
884                                                                <#assign layoutUuid = property.value /> 
885                                                                <#assign layout = layoutLocalService.getLayoutByUuidAndGroupId(layoutUuid, groupId, false) /> 
886                                                                <#assign groupURL = layout.getGroup().getFriendlyURL() /> 
887                                                                <#assign categoryURL = prefix + layout.friendlyURL /> 
888                                                            </#if> 
889                                                             
890                                                        </#list> 
891                                                         
892                                                        <#if layoutUuid?has_content > 
893                                                            / <a href="${categoryURL + queryString}" class="category">${category.getTitle(language_id)}</a> 
894                                                        </#if> 
895                                                         
896                                                    </#list> 
897                                                </#if> 
898                                            </div> 
899                                             
900                                            <div class="span8"> 
901                                                <h2><a href="${viewURL}">${headline}</a></h2> 
902                                                <#if summary?has_content> 
903                                                    <p class="lead">${summary} <a href="${viewURL}" class="asset-more"><@liferay.language key="read-more" /></a></p> 
904                                                </#if> 
905                                            </div> 
906                                        </div> 
907                                    </div> 
908                                </#if>                                          
909                            </#if>                        
910                            <#assign i = i+1 />                        
911                        </#list> 
912                    </div> <#-- / .container --> 
913                </#if>                     
914            </div> <#-- ./asset-links --> 
915        </#if> 
916    </#if> 
917</div> <#-- / .article --> 
Web Form
Prämienauswahl

Sie können auf Basis ihres gewählten Jahresbeitrags eine von 3 Prämien auswählen und zusätzlich an der Verlosung der Sonderprämie teilnehmen.

*Bitte beachten Sie, dass wir sie bei einem zu geringem Jahresbeitrag für Ihre gewählte Prämie automatisch der nächst niedrigeren Prämienstufe zuordnen.