按类别获取期刊文章:用 Python 编写的 Liferay Portlet

ant*_*rsa 0 python portlet jython liferay

我正在尝试用 Python 编写一个简单的 Liferay portlet。该 portlet 将显示一个类别列表,单击时将显示特定结构的 Web 内容文章(期刊文章)列表。

我能够获取类别列表,但找不到使用 liferay api 按类别获取文章列表的方法?

我已经搜索了所有内容,但在我看来该方法应该在此页面上:

http://docs.liferay.com/portal/6.1/javadocs/com/liferay/portlet/journal/service/JournalArticleLocalServiceUtil.html

And*_*rás 5

它是一个 Java 实现,但非常容易转换为 python。

<%
String languageId = LanguageUtil.getLanguageId( renderRequest );
List<JournalArticle> journalArticleList = new ArrayList<JournalArticle>();

AssetEntryQuery assetEntryQuery = new AssetEntryQuery();
assetEntryQuery.setAnyCategoryIds(new long[] { 12704 }); //category Id
assetEntryQuery.setOrderByCol1("modifiedDate");
assetEntryQuery.setEnd(5);
List<AssetEntry> assetEntryList = AssetEntryLocalServiceUtil.getEntries(assetEntryQuery);
for (AssetEntry ae : assetEntryList) {
    JournalArticleResource journalArticleResource = JournalArticleResourceLocalServiceUtil.getJournalArticleResource(ae.getClassPK());
    JournalArticle journalArticle = JournalArticleLocalServiceUtil.getLatestArticle(journalArticleResource.getResourcePrimKey());


    JournalContentUtil.clearCache();
    String content = JournalContentUtil.getContent(journalArticleResource.getGroupId(), journalArticle.getArticleId(), "view", languageId, themeDisplay);

    out.println("<br>"+journalArticle.getTitle(languageId)+"<br>");
    out.println(content);

}
%>
Run Code Online (Sandbox Code Playgroud)