当我使用标准卷展栏配置创建蓝图网站的实时副本和推出页面时,页面中的链接会更新以反映实时副本版本。
离。 /content/myblueprintwebsite/home.html - > /content/mylivecopywebsite/home.html
但是当这些路径被隐藏在页面内容节点的属性中时,它们不会更新,仍然指向蓝图页面。
......这是预期的行为吗?如果是这样我想我必须编写自己的rollout配置?或者是否有另一种解决这个问题的方法?
感谢您的回答。
答案 0 :(得分:1)
根据: https://docs.adobe.com/docs/en/aem/6-1/administer/sites/msm/msm-livecopy.html
" 当蓝图源包含以不同章节中的段落为目标的链接和引用时,目标不会在实时复制页面中更新。例如,从Geometrixx演示站点蓝图创建实时副本。工具栏章节中以服务章节为目标的链接不会在实时副本中更新,并继续定位Geometrixx演示站点中的原始页面。 "
我对上述内容的解释: - 如果在祖先行中的页面上创建了指向目标的链接,则更改将反映在实时副本中。
我通过在bp / en / parent页面和bp / en页面上配置bp / en / parent / child-page的链接来测试它。 在这两种情况下,相应的live-copy / ...页面都反映了实时副本特定子页面的更改路径。
此外,无论使用什么小部件,OotB列表,自定义链接小部件或文本小部件中配置的超链接,链接都会发生变化。
进一步的问题: 编辑者可能希望从不在祖先行中的页面创建链接。然后怎样呢?是否有可以设置的配置允许更改发生?或者我们是否需要编写自定义转出操作?
答案 1 :(得分:-1)
完成页面展开后,它会更新ex:
的所有单个内容引用属性节点中的路径,如果它是单独存储的,即不与任何其他文本连接,例如:hello / content / test / master / en。
如果路径位于其他文本的中间,则不会更新。
并且
创建自定义部署并不能满足您的目的。如果您真的想创建自定义部署以满足此要求,则必须创建以下自定义实时操作并编写逻辑以查找路径然后进行修改。
1.ContentCopyActionFactoryCustom
2.ContentDeleteActionFactoryCustom
3.ContentUpdateActionFactoryCustom
创建自定义推出是一个危险的选择,因为从许多地方调用推出,例如创建实时副本,从蓝图部分,推出页面及其子页面和后台执行等,我们必须处理明确导致的任何异常。如果你开始更改一个文件,那么你最终改变所有相关文件已在许多java类上实现了推出。
理想解决方案:将所有路径保存在单个属性中,AEM将负责更新引用
干杯!!