获取liferay 7中的一级分类

Posted

技术标签:

【中文标题】获取liferay 7中的一级分类【英文标题】:Get first-level categories in liferay 7 【发布时间】:2018-02-13 17:53:13 【问题描述】:

我在获取 Liferay 7 中的类别时遇到问题, 我正在使用 ADT 来获取特定词汇的类别如下:

<#if entries?has_content>
 <#list entries as entry>
  <#assign categories = entry.getCategories()>
  <#list categories as category>
    <a>$category.getName()</a>
  </#list>
 </#list>
</#if>

条目类型是:AssetVocabulary

我的问题是:我得到了词汇的全部类别和子类别

例如我有这个类别:

水果(苹果-香蕉) 蔬菜 肉

所以在结果中,我将所有类别和子类别都设为:

水果 苹果 香蕉 蔬菜 肉

但我需要的是:

水果 蔬菜 肉

希望能在这里找到帮助,先谢谢了

【问题讨论】:

【参考方案1】:
Check if the category has any parent.
if doesn't have any then display it otherwise ignore.
#set($assetUtil =  $serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService"))
#foreach ($category in $assetUtil.getCategories())
        #if($category.parentCategoryId==0)
           #set( $temp  = $category.getName())
           <div class="span10"><a href="link goes here">$temp</a></div>
        #end
#end

【讨论】:

以上是关于获取liferay 7中的一级分类的主要内容,如果未能解决你的问题,请参考以下文章

CustomSQLUtil 在使用 Liferay 7 进行查询检索期间获取空值

Liferay 7:是不是可以自动从链接站点获取图像到站点地图?

Liferay 7:获取组织自定义字段时未初始化 PermissionChecker

将 portlet 移动到 liferay 7 中的控制面板部分?

获取 ADT Liferay 7 的小图像 url

Liferay 7 - 列出模板 FreeMarker 中的所有博客