Skip to Content
  • Change Language
  • Català
  • Español
'International Bioethics Congress' logo 'International Bioethics Congress' logo
  • Welcome
  • Programme
  • Call for abstracts
  • Registration
  • Other editions
Contact Us
  • Change Language
  • Català
  • Español
  • Welcome
  • Programme
  • Call for abstracts
  • Registration
  • Other editions

Conecta con nosotros

Contact Us

Showing 12 search results

Showing 12 search results

An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> getPresentationClasses(journal_article)  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 30]

----
Tip: If the failing expression is known to be 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: #assign css_class = getPresentationCl...  [in template "260001#260038#D3_SEARCH_RESULT" at line 115, column 9]
----
1<#include d3_macros /> 
2 
3<#assign search_title = ""> 
4<#if d3_search_values?? && d3_search_values.d3_search_title?? && d3_search_values.d3_search_title.getData()?has_content> 
5    <#assign search_title = d3_search_values.d3_search_title.getData()> 
6<#elseif d3_search_title?? && d3_search_title.getData()?has_content> 
7    <#assign search_title = d3_search_title.getData()> 
8</#if> 
9 
10<#assign search_description = ""> 
11<#if d3_search_values?? && d3_search_values.d3_search_description?? && d3_search_values.d3_search_description.getData()?has_content> 
12    <#assign search_description = d3_search_values.d3_search_description.getData()> 
13<#elseif !d3_search_values?? && d3_search_description?? && d3_search_description.getData()?has_content> 
14    <#assign search_description = d3_search_description.getData()> 
15<#elseif description?? && description.getData()?has_content> 
16    <#assign search_description = description.getData()> 
17</#if> 
18 
19<#assign search_thumbnail = ""> 
20<#if d3_search_values?? && d3_search_values.d3_search_thumbnail?? && d3_search_values.d3_search_thumbnail.getData()?has_content> 
21    <#assign search_thumbnail = d3_search_values.d3_search_thumbnail.getData()> 
22<#elseif !d3_search_values?? && d3_search_thumbnail?? && d3_search_thumbnail.getData()?has_content> 
23    <#assign search_thumbnail = d3_search_thumbnail.getData()> 
24<#elseif image?? && image.desktop_image?? && image.desktop_image.getData()?has_content> 
25    <#assign search_thumbnail = image.desktop_image.getData()> 
26<#elseif image?? && image.getData()?has_content> 
27    <#assign search_thumbnail = image.getData()> 
28</#if> 
29 
30<#assign search_url = ""> 
31 
32<#if d3_search_values?? && d3_search_values.d3_search_page_link??> 
33    <#if d3_search_values.d3_search_page_link.getSiblings()?has_content> 
34        <#assign search_url = d3_search_values.d3_search_page_link.getFriendlyUrl()> 
35    <#else> 
36        <#assign curLayout = themeDisplay.getLayout()> 
37 
38        <#assign found = false> 
39        <#list d3_search_values.d3_search_page_link.getSiblings() as page_link> 
40            <#assign layout = LayoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,page_link.getData()?number)> 
41 
42            <#list layout.getAncestors() as ancestor> 
43                <#if ancestor.getParentLayoutId() == 0> 
44                    <#list curLayout.getAncestors() as curLayoutAncestor> 
45                        <#if curLayoutAncestor.getParentLayoutId() == 0 && ancestor.getLayoutId() == curLayoutAncestor.getLayoutId()> 
46                            <#assign search_url = page_link.getFriendlyUrl()> 
47                            <#assign found = true> 
48                            <#break> 
49                        </#if> 
50                    </#list> 
51                    <#if found> 
52                        <#break> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            <#if found> 
57                <#break> 
58            </#if> 
59        </#list> 
60    </#if> 
61</#if> 
62 
63<#assign journal_article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)!""> 
64<#if journal_article.getLayoutUuid()?has_content> 
65    <#assign search_url = getContentUrl(.vars['reserved-article-id'].data)> 
66</#if> 
67 
68 
69<#assign css_class = ""> 
70 
71<#switch themeDisplay.getScopeGroup().getFriendlyURL()> 
72    <#case "/d3-sandbox"> 
73 
74        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
75        <#assign search_description = journal_article_structure.getDescription()/> 
76        <#assign structure_key = journal_article_structure.getStructureKey()/> 
77        <#assign structure_name = journal_article_structure.getName(locale)/> 
78 
79        <#if (structure_key == "D3_COMPONENT_DETAIL")> 
80            <#assign document = saxReaderUtil.read(journal_article.getContent()) /> 
81            <#assign rootElement = document.getRootElement() /> 
82            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
83            <#assign example_content = xPathSelector.selectSingleNode(rootElement).getStringValue()?eval /> 
84 
85            <#assign journal_article_child = JournalArticleLocalService.fetchJournalArticleByUuidAndGroupId(example_content.uuid, getterUtil.getLong(example_content.groupId))!""> 
86            <#assign css_class = getPresentationClasses(journal_article_child)> 
87        <#else> 
88            <#assign css_class = getPresentationClasses(journal_article)> 
89        </#if> 
90        <#break> 
91    <#case "/d3-guide"> 
92 
93        <#assign journal_article_structure = journal_article.getDDMStructure()/> 
94        <#assign search_description = journal_article_structure.getDescription()/> 
95        <#assign structure_key = journal_article_structure.getStructureKey()/> 
96 
97        <#if (structure_key == "D3_COMPONENT_DETAIL") > 
98 
99            <#assign documentArticle = saxReaderUtil.read(journal_article.getContent()).getRootElement()!"" /> 
100            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='example_content']") /> 
101            <#assign example_content = xPathSelector.selectSingleNode(documentArticle).getStringValue()?eval /> 
102            <#assign asset_entry = AssetEntryLocalService.fetchEntry(example_content.className, getterUtil.getLong(example_content.classPK))!"" /> 
103            <#assign asset_renderer = asset_entry.getAssetRenderer() /> 
104            <#assign asset_article = asset_renderer.getArticle() /> 
105            <#assign className = asset_renderer.getClassName() /> 
106            <#assign articleResourcePK = asset_article.getResourcePrimKey()/> 
107            <#assign journal_article_child = JournalArticleLocalService.fetchLatestArticle(articleResourcePK,0) /> 
108 
109            <#assign css_class = getPresentationClasses(journal_article_child) /> 
110        <#else> 
111            <#assign css_class = getPresentationClasses(journal_article) /> 
112        </#if> 
113        <#break> 
114    <#default> 
115        <#assign css_class = getPresentationClasses(journal_article) /> 
116</#switch> 
117 
118 
119<#if search_thumbnail?has_content> 
120    <div class="search-result ${css_class}"> 
121        <div class="d3-sm-hide block-link"> 
122            <div class="d3-section"> 
123                <div class="d3-col-xs-4 pl-0"> 
124                    <p class="title-md"> 
125                        <a class="only-link" href='${search_url}'>${search_title}</a> 
126                    </p> 
127                </div> 
128                <div class="d3-col-xs-2 pr-0"> 
129                    <div class="search-thumbnail aspect-ratio aspect-ratio-8-to-5 aspect-ratio-bg-contain" 
130                         style="background-image:url('${search_thumbnail}')"></div> 
131                </div> 
132            </div> 
133            <#if search_description?has_content> 
134                <div class="d3-description"> 
135                    ${search_description} 
136                </div> 
137            </#if> 
138        </div> 
139        <div class="d3-xs-hide d3-sm-show-flex block-link"> 
140            <div class="d3-col-sm-4 d3-col-md-10 pl-0"> 
141                <#if search_title?? && search_title?has_content> 
142                    <p class="title-md"> 
143                        <a class="only-link" href='${search_url}'>${search_title}</a> 
144                    </p> 
145                </#if> 
146 
147                <#if search_description?has_content> 
148                    <div class="d3-description"> 
149                        ${search_description} 
150                    </div> 
151                </#if> 
152            </div> 
153            <div class="d3-col-sm-2 d3-col-md-2 pr-0"> 
154                <div class="search-thumbnail aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-contain" 
155                     style="background-image:url('${search_thumbnail}')"></div> 
156            </div> 
157        </div> 
158    </div> 
159<#else> 
160    <div class="search-result block-link"> 
161        <#if search_title?? && search_title?has_content> 
162            <p class="title-md"> 
163                <a class="main-link" href='${search_url}'>${search_title}</a> 
164            </p> 
165        </#if> 
166 
167        <#if search_description?has_content> 
168            <div class="d3-description"> 
169                ${search_description} 
170            </div> 
171        </#if> 
172    </div> 
173</#if> 
'International Bioethics Congress' logo 'International Bioethics Congress' logo

Conecta con nosotros

Welcome

Programme

Call for abstracts

Registration

Other editions

  • Cookies Settings

  • Cookies Policy

  • Privacy Notice

  • About Grifols

  • Contact Us


c/ Jesús i Maria, 6
08022 Barcelona

  • +34 93 571 09 66
  • fundacio.grifols@grifols.com

© 2026 Fundació Víctor Grífols i Lucas. All rights reserved.