2016-01-15 1 views
1

У меня есть контент со структурой и шаблоном, и я хочу получить доступ к тегам контента, чтобы показать его в шаблоне. В предыдущем Application Display Шаблон актива Publisher, я получил тег с ServiceLocator, как это:Liferay Freemarker - Как получить теги в шаблоне контента

<#list entries as entry> 
    <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService") /> 
    <#assign assetTagLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetTagLocalService") /> 
    <#assign assetTags = assetTagLocalService.getEntryTags(entry.getEntryId()) /> 
    <#list assetTags as tag> 
     <#if tag.getName() != "startseite"> 
      ${tag.getName()} 
     </#if> 
    </#list> 
</#list> 

В моем шаблоне, я сменил запись с .vars['reserved-article-id'].data, но затем я получаю сообщение об ошибке:

Method public final java.util.List com.sun.proxy.$Proxy562.getEntryTags(long) throws com.liferay.portal.kernel.exception.SystemException threw an exception when invoked on [email protected]6bc73e2b

Как вы это можете использовать в шаблоне?

ответ

2

Теги, связанные с assetEntry, используя его resourcePrimKey, так что вы можете сделать это:

<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService") /> 
<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService") /> 

<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)> 
<#assign asset = assetEntryLocalService.getEntry('com.liferay.portlet.journal.model.JournalArticle', article.resourcePrimKey) > 

<#list asset.getTags() as tag> 
    <code>${tag.name}</code> 
</#list> 
0

По состоянию на Liferay 7, вы должны быть в состоянии использовать следующее:

<#list entries as entry> 
    <#assign 
     entry = entry 
    /> 

    <#list entry.tagNames as tag> 
     ${tag} 
    </#list> 
</#list> 
Смежные вопросы