【问题标题】:Liferay Freemarker - How to get tags in a Content TemplateLiferay Freemarker - 如何在内容模板中获取标签
【发布时间】:2016-04-21 02:05:07
【问题描述】:

我有带有结构和模板的内容,我想访问内容的标签以在模板中显示它。 在以前的资产发布者应用程序显示模板中,我得到了带有 ServiceLocator 的标签,如下所示:

<#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 交换了条目,但随后出现错误:

方法 public final java.util.List com.sun.proxy.$Proxy562.getEntryTags(long) throws com.liferay.portal.kernel.exception.SystemException 在 com.liferay.portlet.asset 上调用时抛出异常。 service.impl.AssetTagLocalServiceImpl@6bc73e2b

你如何让它在模板中工作?

【问题讨论】:

    标签: liferay freemarker


    【解决方案1】:

    标签使用它的 resourcePrimKey 与assetEntry 相关联,因此您可以这样做:

    <#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>
    

    【讨论】:

      【解决方案2】:

      从 Liferay 7 开始,您应该能够使用以下功能:

      <#list entries as entry>
          <#assign
              entry = entry
          />
      
          <#list entry.tagNames as tag>
              ${tag}
          </#list>
      </#list>
      

      【讨论】:

        猜你喜欢
        • 2011-12-07
        • 2011-10-25
        • 2013-04-11
        • 2012-04-12
        • 2014-06-02
        • 2018-09-21
        • 2017-09-23
        • 1970-01-01
        • 2019-12-31
        相关资源
        最近更新 更多