AEM卷展栏配置不适用于从代码

时间:2016-06-28 10:42:53

标签: aem jcr

我有蓝图和实时副本的设置,但我遇到了一些奇怪的行为。

示例1:

  • 使用UI编辑页面标题(蓝图) - >标题也会在实时副本中设置

示例2:

  • 使用代码编辑页面标题(蓝图) - >标题在蓝图中设置,但不会在实时副本中设置

代码:

Session session = resourceResolver.adaptTo(Session.class);

Resource brandPageResource = resourceResolver.getResource("/content/platform-blueprints/company/nl/brands/439");
Page brandPage =  brandPageResource.adaptTo(Page.class);

Resource brandPageContentResource = brandPage.getContentResource();
Node brandPageContentNode = brandPageContentResource.adaptTo(Node.class);

try {
    brandPageContentNode.setProperty(JCR_TITLE, "NEW-TITLE-FROM-ENDPOINT");
} catch (RepositoryException e) {
    LOG.error("Error initializing components", e.getMessage(), e);
}

session.save();

有人知道为什么会发生这种情况以及如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

当您更改节点的属性时,周围的页面将不会获得其cq:lastModified属性的更新,并且该页面也不会在UI中标记为已更改。

您可以使用PageManager.touch()更新页面的cq:lastModified和cq:lastModifiedBy属性。

使用资源而不是节点也可能有用 - 但我不确定那个。