如何使用GROOVY Console重命名cq5节点名称?

时间:2013-10-29 08:23:56

标签: groovy cq5

我想更改在这么多页面中使用的模板的路径。所以,如果我直接从CRXDE更改它会有麻烦。我可以使用Groovy脚本吗?

这就是我的尝试。

getPage("/content/project").recurse { page ->
    def content = page.node

    if (content && "/apps/project/templates/club" == content.get("cq:template")) {

        println("Good morning")
        page.path="/apps/project/templates/club1"

        println page.path
    }
}

此代码只打印模板名称为/ apps / project / templates / clubs的页面列表。

我想将此模板的名称更改为/ apps / project / templates / noclubs

由于

1 个答案:

答案 0 :(得分:7)

使用content.set(name, value)方法设置新的模板属性和save()方法来提交会话:

getPage("/content/project").recurse { page ->
    def content = page.node
    if (content && "/apps/project/templates/club" == content.get("cq:template")) {
        content.set("cq:template", "/apps/project/templates/noclubs")
        println page.path
    }
}
save()