如何在Liferay 7的自定义模块中获取Web内容元数据类别和标签信息?
如何获得web内容元数据的类别&标签信息自定义模块中的Liferay 7 我需要重写期刊论文如何在Liferay 7的自定义模块中获取Web内容元数据类别和标签信息?
addArticle(长userId的,长的groupId,长folderId,长classNameId的服务包装挂钩,长classPK, 字符串条款ArticleID,布尔autoArticleId,双版本,地图titleMap, 地图descriptionMap,字符串内容,字符串ddmStructureKey,字符串ddmTemplateKey, 字符串layoutUuid,INT displayDateMonth,诠释displayDateDay,诠释displayDateYear,INT displayDateHour, INT displayDateMinute,INT expirationDateMonth,int expirationDateDay,int expirationDateYear, INT expirationDateHour,INT expirationDateMinute,布尔neverExpire,INT reviewDateMonth, INT reviewDateDay,诠释reviewDateYear,诠释reviewDateHour,INT reviewDateMinute,布尔neverReview, 布尔可转位,布尔smallImage,字符串smallImageURL,文件smallImageFile, 地图图像,字符串articleURL,ServiceContext serviceContext)抛出PortalException { }
此方法中没有元数据信息参数如何获取期刊文章的元数据信息。
有两种方法可以解决这个问题。模型监听器的方式有点棘手,因为文章和类别之间的关联是在模型监听器被调用之后建立的。该id已被分配(article.getId()),但需要一些技巧来克服这一点。
直接的方法是创建服务包装,调用原始代码,然后使用服务上下文来确定进一步的操作。
考虑通过Liferay消息总线解耦将发送邮件与使用异步消息的代码。
如果您在Liferay中配置了SMTP服务器,则还可以使用MailService
从门户发送电子邮件。
查看示例代码
@Component(immediate = true, property = {}, service =
ServiceWrapper.class)
public class MailServiceWrapper extends JournalArticleServiceWrapper {
private static final Log _log = LogFactoryUtil.getLog(MailServiceWrapper.class);
@Reference
private MailService mailService;
@Reference
private AssetCategoryService assetCategoryService;
@Override
public JournalArticle addArticle(long groupId, long folderId, long classNameId, long classPK, String articleId, boolean autoArticleId, Map<Locale, String> titleMap, Map<Locale, String> descriptionMap, String content, String ddmStructureKey, String ddmTemplateKey, String layoutUuid, int displayDateMonth, int displayDateDay, int displayDateYear, int displayDateHour, int displayDateMinute, int expirationDateMonth, int expirationDateDay, int expirationDateYear, int expirationDateHour, int expirationDateMinute, boolean neverExpire, int reviewDateMonth, int reviewDateDay, int reviewDateYear, int reviewDateHour, int reviewDateMinute, boolean neverReview, boolean indexable, String articleURL, ServiceContext serviceContext) throws PortalException {
JournalArticle journalArticle = super.addArticle(groupId, folderId, classNameId, classPK, articleId, autoArticleId, titleMap, descriptionMap, content, ddmStructureKey, ddmTemplateKey, layoutUuid, displayDateMonth, displayDateDay, displayDateYear, displayDateHour, displayDateMinute, expirationDateMonth, expirationDateDay, expirationDateYear, expirationDateHour, expirationDateMinute, neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour, reviewDateMinute, neverReview, indexable, articleURL, serviceContext);
sendNotification(serviceContext.getAssetCategoryIds(), journalArticle);
return journalArticle;
}
@Override
public JournalArticle addArticle(long groupId, long folderId, long classNameId, long classPK, String articleId, boolean autoArticleId, Map<Locale, String> titleMap, Map<Locale, String> descriptionMap, String content, String ddmStructureKey, String ddmTemplateKey, String layoutUuid, int displayDateMonth, int displayDateDay, int displayDateYear, int displayDateHour, int displayDateMinute, int expirationDateMonth, int expirationDateDay, int expirationDateYear, int expirationDateHour, int expirationDateMinute, boolean neverExpire, int reviewDateMonth, int reviewDateDay, int reviewDateYear, int reviewDateHour, int reviewDateMinute, boolean neverReview, boolean indexable, boolean smallImage, String smallImageURL, File smallFile, Map<String, byte[]> images, String articleURL, ServiceContext serviceContext) throws PortalException {
JournalArticle journalArticle = super.addArticle(groupId, folderId, classNameId, classPK, articleId, autoArticleId, titleMap, descriptionMap, content, ddmStructureKey, ddmTemplateKey, layoutUuid, displayDateMonth, displayDateDay, displayDateYear, displayDateHour, displayDateMinute, expirationDateMonth, expirationDateDay, expirationDateYear, expirationDateHour, expirationDateMinute, neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour, reviewDateMinute, neverReview, indexable, smallImage, smallImageURL, smallFile, images, articleURL, serviceContext);
sendNotification(serviceContext.getAssetCategoryIds(), journalArticle);
return journalArticle;
}
private void sendNotification(long[] assetCategoryIds, JournalArticle journalArticle) throws PortalException {
// send mail
}
}
@Override \t public void onAfterCreate(JournalArticle model)throws ModelListenerException AssetCategoryService assetCategoryService = null; List
您需要注入服务'''@Reference private AssetCategoryService assetCategoryService''' –
List
什么是你想怎么办? –
我需要获取网页内容的分类ID,这取决于该ID,我必须发送通知电子邮件给订阅用户 –
所以当一个Web内容被创建或更新时,您需要阅读该分类并发送邮件? –