<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>How to fetch categories in web content display</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=119155951" />
  <subtitle>How to fetch categories in web content display</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=119155951</id>
  <updated>2026-04-04T23:14:27Z</updated>
  <dc:date>2026-04-04T23:14:27Z</dc:date>
  <entry>
    <title>RE: How to fetch categories in web content display</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119182884" />
    <author>
      <name>Lee Jordan</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119182884</id>
    <updated>2020-05-18T14:53:21Z</updated>
    <published>2020-05-18T14:53:21Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;I read this and I think why can't I do&amp;nbsp;this ... ${article.categories} ???&lt;br&gt;&lt;br&gt;Instead I have to do this ...&lt;br&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;lt;#assign articleId = &amp;amp;nbsp;.vars['reserved-article-id'].data /&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId)&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) &amp;amp;gt;&amp;amp;nbsp;&amp;amp;lt;@liferay_asset["asset-categories-summary"] &amp;amp;nbsp; className='${asset.getClassName()}' classPK=article.resourcePrimKey /&amp;amp;gt;&amp;amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;WTH?? Time matters, I don't have two hours to spend researching, another 4 hours trying to get something working and then a week goes by and I haven't delivered or finished my template. For personal projects yes fine. But when someone in an enterprise needs something by the end of the day I'm sorry but Liferay truly sucks for delivering solutions quickly.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Lee Jordan</dc:creator>
    <dc:date>2020-05-18T14:53:21Z</dc:date>
  </entry>
  <entry>
    <title>RE: How to fetch categories in web content display</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119161977" />
    <author>
      <name>Christoph Rabel</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119161977</id>
    <updated>2020-05-15T06:53:21Z</updated>
    <published>2020-05-15T06:53:21Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;I fear, you have to use something like this: (works only after allowing the use of serviceLocator in system settings)&lt;br&gt;&lt;pre&gt;&lt;code&gt;    journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")

    journalArticleId = .vars['reserved-article-id'].data
    articleResourcePrimaryKey = journalArticleResourceLocalService.getArticleResourcePrimKey(themeDisplay.getScopeGroupId(), journalArticleId)
    assetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", articleResourcePrimaryKey)
    assetCategories = assetEntry.getCategories()
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;I wished, the whole JournalArticle Object or at least some nice helper objects were available in the template.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Christoph Rabel</dc:creator>
    <dc:date>2020-05-15T06:53:21Z</dc:date>
  </entry>
  <entry>
    <title>RE: How to fetch categories in web content display</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119159523" />
    <author>
      <name>Mohammed Yasin</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119159523</id>
    <updated>2020-05-15T06:49:41Z</updated>
    <published>2020-05-15T06:49:41Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;In Webcontent&amp;nbsp; Display you may need to&amp;nbsp; get the asset of selected webcontent then fetch the categories, you may refer below code snippet (Liferay 7.1), You can also fetch the list of categories from asset object (asset.getCategories()) and&amp;nbsp; use that&amp;nbsp;&lt;br&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;lt;#assign articleId = &amp;amp;nbsp;.vars['reserved-article-id'].data /&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId)&amp;amp;gt;&amp;amp;nbsp;
&amp;amp;lt;#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) &amp;amp;gt;&amp;amp;nbsp;
​​​​​​​&amp;amp;lt;@liferay_asset["asset-categories-summary"] &amp;amp;nbsp; className='${asset.getClassName()}' classPK=article.resourcePrimKey /&amp;amp;gt;&amp;amp;nbsp;
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Mohammed Yasin</dc:creator>
    <dc:date>2020-05-15T06:49:41Z</dc:date>
  </entry>
  <entry>
    <title>RE: How to fetch categories in web content display</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119154806" />
    <author>
      <name>Shounak Nandi</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119154806</id>
    <updated>2020-05-15T04:36:01Z</updated>
    <published>2020-05-15T04:36:01Z</published>
    <summary type="html">Hi,&lt;br /&gt;This is working in asset publisher and webcontents opened in asset publisher portlet.&lt;br /&gt;How can we achieve this is web content display portet.&lt;br /&gt;Regards,&lt;br /&gt;​​​​​​​Shounak</summary>
    <dc:creator>Shounak Nandi</dc:creator>
    <dc:date>2020-05-15T04:36:01Z</dc:date>
  </entry>
  <entry>
    <title>RE: How to fetch categories in web content display</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119157179" />
    <author>
      <name>Mohammed Yasin</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119157179</id>
    <updated>2020-05-14T18:06:28Z</updated>
    <published>2020-05-14T18:06:28Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi,&lt;br&gt;You can try&amp;nbsp; using taglib for showing asset Categories of selected asset&amp;nbsp; in web content&amp;nbsp; ftl&lt;br&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;lt;@liferay_ui["asset-categories-summary"]
&amp;amp;nbsp; &amp;amp;nbsp;className=entry.getClassName()
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;classPK=entry.getClassPK()
/&amp;amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Mohammed Yasin</dc:creator>
    <dc:date>2020-05-14T18:06:28Z</dc:date>
  </entry>
  <entry>
    <title>How to fetch categories in web content display</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119155950" />
    <author>
      <name>Shounak Nandi</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119155950</id>
    <updated>2020-05-14T16:11:26Z</updated>
    <published>2020-05-14T16:11:26Z</published>
    <summary type="html">Hi,&lt;br /&gt;We are trying to fetch and display categories in web content display for a content.Can someone guide me how it can be done using FTL in Liferay 7.3 CE.&lt;br /&gt;Regards,Shounak</summary>
    <dc:creator>Shounak Nandi</dc:creator>
    <dc:date>2020-05-14T16:11:26Z</dc:date>
  </entry>
</feed>
