From 0d2852119f4248c62446811fdf6e50aa9e021383 Mon Sep 17 00:00:00 2001 From: Thorsten Marx Date: Mon, 17 Mar 2025 15:29:26 +0100 Subject: [PATCH 1/2] this mr fixes #416 --- .../cms/api/template/TemplateEngine.java | 22 +++++++++++++------ .../cms/content/DefaultContentRenderer.java | 5 ++++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/cms-api/src/main/java/com/condation/cms/api/template/TemplateEngine.java b/cms-api/src/main/java/com/condation/cms/api/template/TemplateEngine.java index 8181325d4..fc07ad7bc 100644 --- a/cms-api/src/main/java/com/condation/cms/api/template/TemplateEngine.java +++ b/cms-api/src/main/java/com/condation/cms/api/template/TemplateEngine.java @@ -21,7 +21,6 @@ * . * #L% */ - import com.condation.cms.api.db.ContentNode; import com.condation.cms.api.db.cms.ReadOnlyFile; import com.condation.cms.api.request.RequestContext; @@ -36,22 +35,31 @@ * @author thmar */ public interface TemplateEngine { - + public void invalidateCache(); - void updateTheme (Theme theme); - + void updateTheme(Theme theme); + String render(final String template, final TemplateEngine.Model model) throws IOException; - + default String renderFromString(final String templateString, final TemplateEngine.Model model) throws IOException { return templateString; } - + @RequiredArgsConstructor public static class Model { + public final Map values = new HashMap<>(); public final ReadOnlyFile contentFile; public final ContentNode contentNode; public final RequestContext requestContext; - } + + public Model copy() { + var copy = new Model(this.contentFile, this.contentNode, this.requestContext); + + copy.values.putAll(this.values); + + return copy; + } + } } diff --git a/cms-content/src/main/java/com/condation/cms/content/DefaultContentRenderer.java b/cms-content/src/main/java/com/condation/cms/content/DefaultContentRenderer.java index 550c280ef..0dcdbf242 100644 --- a/cms-content/src/main/java/com/condation/cms/content/DefaultContentRenderer.java +++ b/cms-content/src/main/java/com/condation/cms/content/DefaultContentRenderer.java @@ -207,7 +207,10 @@ public String render(final ReadOnlyFile contentFile, final RequestContext contex extendModel(model, namespace); - String content = renderContent(rawContent, context, model); + var modelCopy = model.copy(); + modelCopy.values.putAll(namespace.getNamespaces()); + + String content = renderContent(rawContent, context, modelCopy); model.values.put("content", content); namespace.add("node", "content", content); From c111f4b022227646b751ae318e7f933169d3b985 Mon Sep 17 00:00:00 2001 From: Thorsten Marx Date: Mon, 17 Mar 2025 15:30:48 +0100 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94b6d1c94..34253f39b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ see wiki for more information: [wiki](https://github.com/thmarx/cms/wiki) # changelog +## 7.8.0 + +* **BUG** Namespaces not set when executing content pipeline [#416](https://github.com/CondationCMS/cms-server/pull/416) + ## 7.7.0 * **FEATURE** TemplateEngineFeature for scripts [#393](https://github.com/CondationCMS/cms-server/pull/393)