Nivel 1
Nivel 2
Iniciar sesión en la comunidad
Iniciar sesión para ver todas las insignias
Is there an easy way to propagate the changes to a template in code to the pages that use that template? Without making brand new pages.
I have added components and moved them around.
¡Resuelto! Ir a solución.
Vistas
Respuestas
Total de me gusta
You can use a Groovy script to update existing pages that use the modified template.
Vistas
Respuestas
Total de me gusta
You can use a Groovy script to update existing pages that use the modified template.
Vistas
Respuestas
Total de me gusta
Curl Command, Groovy script & Managed Controlled Process.
Vistas
Respuestas
Total de me gusta
Hi @rkody
No easy way. But rewarding way, yes.
You can also develop you own TouchUI tool, an integrate it into your project. For the beginning I imagine a simple page with a field for a path to update and a field for a template to lookup for. Of course you can refine it and make smarter by the time, but for now you might start with that.
Few considerations:
Vistas
Respuestas
Total de me gusta
This approach using groovy might work
def resolver = getResourceResolver()
try {
String templatePath = "/content/my-site/templates/my-template"
String componentPath = "/apps/my-site/components/my-component"
Resource templateResource = resolver.getResource(templatePath)
if (templateResource != null) {
Node templateNode = templateResource.adaptTo(Node.class)
Node componentNode = templateNode.addNode("myNewComponent", "cq:Component")
componentNode.setProperty("sling:resourceType", componentPath)
componentNode.setProperty("cq:template", templatePath)
componentNode.setProperty("myCustomProperty", "value")
// Save the changes
templateNode.getSession().save()
println "Component added successfully!"
} else {
println "Template not found!"
}
} catch (RepositoryException e) {
println "An error occurred: ${e.message}"
} finally {
if (resolver != null) {
resolver.close()
}
}
Vistas
Respuestas
Total de me gusta
@rkody Are you using an editable or static template here?
If you modify the structure or policies of an editable template, the changes are automatically propagated to all pages that inherit from that template.
You could also write a script to update the affected pages programmatically like Groovy.
If the static template references a server-side script, any changes you make in the script will automatically be reflected on all pages that use the template.
Vistas
Respuestas
Total de me gusta
Vistas
me gusta
Respuestas