Как получить веб-контент AssetEntry с помощью liferay? - PullRequest
1 голос
/ 12 июля 2011

Я получаю записи активов, как это:

List<AssetEntry> emt = AssetEntryLocalServiceUtil.getEntries(q);

Записи активов имеют много методов, таких как assetEntry.getTitle(), но не для получения источника (входной ответ веб-контента). Это работает в журнале liferay taglib следующим образом: <liferay-ui:journal-article articleId="74550" groupId="10164" ></liferay-ui:journal-article>

Как я могу получить контент веб-контента, используя AssetEntry?

Ответы [ 5 ]

2 голосов
/ 14 июля 2011

assetEntry позволяет вам извлекать веб-контент, комбинируя getClassName (), который является "com.liferay.portlet.journal.model.JournalArticle", и getClassPK (), который дает вам идентификатор веб-контентадля assetEntry.

Имея эту информацию, вы можете позвонить по следующему номеру:

JournalArticle wc = JournalArticleLocalServiceUtil.getArticle(assetEntry.getClassPK());
1 голос
/ 28 августа 2012

Вы можете получить доступ к содержимому из упомянутой выше xmlString, например,

JournalContentUtil.getDisplay(journalArticle.getGroupId(), journalArticle.getArticleId(),
            null, null, locale.toString(), xmlRequest);

, где xmlRequest может быть сгенерирован из запроса и ответа, например:

String xmlRequest = PortletRequestUtil.toXML(request,response);

, а JournalArticle может бытьполученный как Марк, упомянутый выше как этот

 JournalArticle article = JournalArticleLocalServiceUtil.getLatestArticle(assetEntry.getPrimaryKey());

Это отлично работает для Liferay 6.1.1 и должно работать в более старых версиях.

1 голос
/ 20 августа 2012
AssetEntry assetEntry = ...;

JournalArticle article = JournalArticleLocalServiceUtil.getLatestArticle(assetEntry.getPrimaryKey());
String xmlString = article.getContent(); //whole xml content with all translations
//or
String xmlString = article.getContentByLocale(languageId); //languageId is some like 'en', 'es' ...
0 голосов
/ 25 марта 2014

Я не пробовал приведенный ниже код, но этот код работает в отображении по умолчанию (аннотации) издателя ресурса.

AssetRenderer assetRenderer = (AssetRenderer) request.getAttribute ("view.jsp-assetRenderer");Сводка строки = assetRenderer.getSummary (locale);

Вы можете проверить код в файле: /liferay/liferay620/tomcat-7.0.42/webapps/ROOT/html/portlet/asset_publisher/display

0 голосов
/ 05 августа 2013
 JournalArticleResource journalArticleResourceObj = JournalArticleResourceLocalServiceUtil.getJournalArticleResource(ae.getClassPK()); 
 JournalArticle journalArticleObj = JournalArticleLocalServiceUtil.getArticle(themeDisplay.getScopeGroupId(),journalArticleResourceObj.getArticleId());  

journalArticleObj имеет все необходимые данные.

...