【问题标题】:Small image id auto added when adding journal article in liferay?在liferay中添加期刊文章时自动添加小图像ID?
【发布时间】:2013-12-11 11:21:56
【问题描述】:

我使用以下代码添加期刊文章(liferay 6.1):

JournalArticle ja = JournalArticleLocalServiceUtil.addArticle(
userId, groupId, 0, 0, StringPool.BLANK, true,
JournalArticleConstants.VERSION_DEFAULT, titleMap, descriptionMap,
content, "general", structureId, templateId, StringPool.BLANK,
1, 1, 2008, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, 0, 0, 0, true,
true, false, StringPool.BLANK, null, null, StringPool.BLANK,
serviceContext);

为简单起见,我省略了部分代码。在参数中指定,smallImage = false。但是,在添加新期刊文章时,在 journalarticle 表中,SmallImageId 列总是添加一个我期望为 0 的数字。有人有这方面的经验吗?

【问题讨论】:

    标签: liferay-6


    【解决方案1】:

    原因让我无法理解,但由于 JournalArticleLocalServiceUtil.addArticle 方法的这一部分,这种行为符合预期(如编程)

    article.setSmallImage(smallImage);
    article.setSmallImageId(counterLocalService.increment());
    article.setSmallImageURL(smallImageURL);
    

    只有在方法的后面是

    saveImages(smallImage, article.getSmallImageId(), smallImageFile, smallImageBytes);
    

    这是检查 smallImage 布尔参数的唯一部分

    protected void saveImages(
            boolean smallImage, long smallImageId, File smallImageFile,
            byte[] smallImageBytes)
        throws PortalException, SystemException {
    
        if (smallImage) {
            if ((smallImageFile != null) && (smallImageBytes != null)) {
                imageLocalService.updateImage(smallImageId, smallImageBytes);
            }
        }
        else {
            imageLocalService.deleteImage(smallImageId);
        }
    }
    

    有趣的是,新文章没有小图的工作流程如下(仅相关部分):

    1. 创建新文章
    2. 保存图像(您不想要的)实际上试图删除您没有的图像

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-22
      • 2015-02-21
      • 2023-04-09
      • 2014-09-01
      • 2019-01-10
      • 1970-01-01
      • 2023-03-04
      • 2017-06-17
      相关资源
      最近更新 更多