2013-10-29 47 views
2

我想更改在這麼多頁面中使用的模板的路徑。所以如果我直接從CRXDE改變它會有麻煩。我可以使用Groovy腳本來完成嗎?如何使用GROOVY Console重命名cq5節點名稱?

這就是我試過的。

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的頁面列表。

我想改變這個模板的名稱說/應用程序/項目/模板/ noclubs

感謝

回答

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()