我已经建立了一个"网站/ Web应用程序"在CQ5。它在/ apps下的结构是 / apps / videojet / components,/ apps / videojet / templates等。简而言之,一切都在/ apps / videojet / *
下现在我的老板告诉我将videojet文件夹重命名为hiresite = apps / hiresite / *
但如果我这样做,我认为我的任何模板都不会指向组件。由于模板仍将指向/ apps / videojet /*.
现在我必须将/ cq:template下的所有页面更改为/ apps / videojet / templates / xxx至/ apps / hiresite / templates / xxx。
我也在我的Sling Serlvets中执行request.getDispatcher()并调度到pages / content / videojet / xxx。
即使在/ content下,它也将是/ content / hiresite / xxxx。
如何执行此类任务?
我不认为我可以像Eclipse那样折射吗?需要帮助我有太多的页面,组件和页面。 我必须手动完成吗?
答案 0 :(得分:3)
Groovy console似乎是完美的工具。您可以轻松编写一个迭代/content
的简单脚本,并将属性值从/apps/videojet
更改为/apps/hiresite
。您也可以使用this one。将脚本粘贴到Groovy控制台窗口,最后添加以下行:
updateContent("/content", "/apps/videojet", "/apps/hiresite")
第一个参数是根路径,第二个是搜索主题,第三个是替换字符串。
默认情况下,脚本将替换所有属性中的主题。您可以通过第四个参数覆盖此行为 - 它应该是要检查的属性列表:
updateContent("/content", "/apps/videojet", "/apps/hiresite",
["sling:resourceType", "sling:resourceSuperType"])