Hallo FirstSpirit Community,
mittels ein Groovy Skript möchte ich Sections von einer bestimmten Vorlage mit neu angelegten von einer anderen Vorlage in Page Bodys ersetzen:
Template oldTmpl = ...
Template newTmpl = ...
Section oldSection = ... // ermittelt via oldTmpl.getIncomingReferences()
Body body = oldSection.getParent()
Page page = body.getParent()
try {
page.setLock(true, true)
Section newSection = body.createSection("name", newTmpl)
body.removeChild(newSection)
body.replaceChild(oldSection, newSection)
page.save("removed section", true)
page.release(true)
}
finally {
page.setLock(false, true)
}
page.refresh()
Nach dem Ausführen des Skriptes stelle ich aber fest, dass obwohl die alte Section ersetzt ist (sie erscheint nicht mehr unter Page Body), "hängt" sie immer noch an der Seite, da wenn ich die Usages der alten Template im FS SiteArchitect via Ctrl+U aufrufe, erscheint die alte Section in der Auflistung, und ein Help Skript bestätigt auch, dass sie die Page immer noch als Parent hat:
storeAgent = context.requireSpecialist(StoreAgent.TYPE)
pageStore = storeAgent.getStore(Store.Type.PAGESTORE, false)
long id = ... // ID der alten Section
section = pageStore.getStoreElement(id)
println section.getParent().getParent() // hier kommt die Seite, wo eigentlich diese Section ersetzt wurde
Habe ich was vergessen in meinem Skript? Soll ich explizit für die alte Section die Methode delete() aufrufen?
Vielen Dank im voraus.
Gruß,
Olga.