CQ5:页面推出时不会更新属性中的链接/路径



当我创建一个蓝图网站的实时副本,并使用标准的rollout配置创建rollout页面时,页面中的链接将更新以反映实时副本版本。

交货。/content/myblueprintwebsite/home.html ->/content/mylivecopywebsite/home.html

但是当这些路径被隐藏在页面内容节点的属性中时,它们不会被更新,并且仍然指向蓝图页面。

…这是预期的行为吗?如果是这样的话,我想我将不得不编写自己的rollout配置?或者这个问题还有别的解决办法吗?

谢谢你的回答

按: https://docs.adobe.com/docs/en/aem/6-1/administer/sites/msm/msm-livecopy.html

"当蓝图源包含针对不同章节中的段落的链接和引用时,目标不会在活动复制页面中更新。例如,从Geometrixx Demo Site蓝图创建一个活动副本。针对Services章节的Toolbar章节中的链接不会在活动副本中更新,而是继续针对Geometrixx Demo站点中的原始页面。"

我对以上内容的理解:-如果到目标的链接是在祖先行的页面上创建的,则更改将反映在活动副本中。

我通过在bp/en/父页面和bp/en页面上配置指向bp/en/parent/child-page的链接来测试这一点。在这两种情况下,相应的活拷贝/…页面反映到活动副本特定子页面的更改路径。

此外,无论使用什么小部件- OotB列表,自定义链接小部件或在文本小部件中配置的超链接,链接都会发生变化。

进一步问:

编辑器可能希望从不在祖先行的页面创建链接。然后什么?是否可以设置一个配置以允许发生更改?还是要求我们编写自定义的rollout操作?

每当页面rollout完成时,它会更新所有单独的内容引用,例如:

  1. 属性节点中的路径,如果它是单独存储的,即不与任何其他文本(如hello/content/test/master/en)连接。

    如果路径位于其他文本的中间,则不更新。

  • 创建自定义推出并不能满足您的目的。如果你真的想创建自定义滚出来满足这个需求,那么你必须创建以下自定义活动,并编写逻辑来查找路径,然后修改它们。
    1.ContentCopyActionFactoryCustom2.ContentDeleteActionFactoryCustom3.ContentUpdateActionFactoryCustom

  • 创建自定义滚出是一个有风险的选择,因为滚出是在许多地方被调用的,比如在创建实时副本时,从蓝图部分,滚出页面及其子页面和后台执行等,我们必须明确地处理由此引起的任何异常。如果你开始改变一个文件,那么你最终会改变所有相关的文件,并在许多java类上推出实现。

  • 理想的解决方案:将所有路径保存在单个属性中,AEM将负责更新这些引用

干杯! !

相关内容

  • 没有找到相关文章

最新更新