Rural development partners

Matching Demand and Supply

Partners Search

资产发布器

处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "39567379#39567417#partner_card" at line 54, column 24]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${friendlyURLs[themeDisplay.getLangua...  [in template "39567379#39567417#partner_card" at line 54, column 22]
----
1<#assign 
2    journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
3    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4    assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
5    assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
6    catPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 
7    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
8    classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
9/> 
10 
11<#-- 
12<#assign 
13    globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global") 
14    destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry") 
15/> 
16<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
17--> 
18<#assign 
19    journalArticleId = .vars['reserved-article-id'].data 
20    articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
21    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) 
22    reg_css="asia" 
23    reg_icon="no-region-thumb.png" 
24    reg_categoryId = 0 
25    expertiseCategories =[] 
26    expertiseVocId = 43267145 
27    regionVocId = 40722459 
28/> 
29 
30 
31<#list asset.categories as category > 
32    <#if category.getVocabularyId()== regionVocId && category.getParentCategoryId() == 0> 
33        <#assign reg_icon = catPropertyLocalService.getCategoryProperty(category.categoryId, "thumbnail").getValue() /> 
34        <#assign reg_css = catPropertyLocalService.getCategoryProperty(category.categoryId, "cssClass").getValue() /> 
35 
36        <#if category.getDescriptionCurrentValue()??> 
37            <#assign reg_summary = category.getDescriptionCurrentValue() /> 
38        </#if> 
39        <#assign reg_title = category.getName() /> 
40        <#assign reg_categoryId = category.getCategoryId() /> 
41    </#if> 
42    <#if category.vocabularyId == expertiseVocId> 
43        <#assign expertiseCategories = expertiseCategories + [category] /> 
44    </#if> 
45</#list> 
46 
47<div class="card partner-card"> 
48    <#-- 
49    <div class="pull-right"><@getAdminMenu asset /></div> 
50    --> 
51    <div class="region ${reg_css}"></div> 
52    <div class="logo-container"> 
53        <#if Logo.getData()?? && Logo.getData() != ""> 
54            <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
55                <img class="card-img-top" alt="${Logo.getAttribute("alt")}" 
56                     data-fileentryid="${Logo.getAttribute("fileEntryId")}" 
57                     src="${Logo.getData()}" 
58                /> 
59            </a> 
60        </#if> 
61    </div> 
62    <div class="middle-container"> 
63        <div class="middle-panel region-transparent ${reg_css}"> 
64            <img class="rounded-circle" src="${themeDisplay.getPathThemeImages()}/custom/regions/${reg_icon}" width="73" height="73"  /> 
65            <div class="middle-texts"> 
66                <p class="secondary">${TypeOfOrganization.data}</p> 
67                <hr> 
68                <p>${TypeOfCooperation.data}</p> 
69            </div> 
70        </div> 
71 
72    </div> 
73    <div class="card-body"> 
74        <a href="${friendlyURLs[themeDisplay.getLanguageId()]}"> 
75            <h5 class="card-title">${.vars['reserved-article-title'].data}</h5> 
76        </a> 
77        <ul class="expertise"> 
78            <li class="section-title"><span>Expertise:</span></li> 
79            <#list expertiseCategories as cat> 
80                <li><span class="badge badge-secondary">${cat.name}</span></li> 
81            </#list> 
82        </ul> 
83        <p class="text-center"> 
84            <a class="btn btn-default" href="${friendlyURLs[themeDisplay.getLanguageId()]}">View partner</a> 
85        </p> 
86    </div> 
87</div>