From 5e8015161b030008da2225aa93f28ffd8f1ef31a Mon Sep 17 00:00:00 2001 From: mic Date: Fri, 26 Dec 2025 12:09:26 +0100 Subject: [PATCH] correctly substituting text for a dynamic placeholder see #527 --- js/mzta-placeholders.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/mzta-placeholders.js b/js/mzta-placeholders.js index e8a222ae..7308a4a2 100644 --- a/js/mzta-placeholders.js +++ b/js/mzta-placeholders.js @@ -395,13 +395,17 @@ export const placeholdersUtils = { use_default_value = false, skip_additional_text = false } = args || {}; + console.log(">>>>>>>>>> replacePlaceholders replacements: " + JSON.stringify(replacements)); // Regular expression to match patterns like {%...%} return text.replace(/{%\s*(.*?)\s*%}/g, function(match, p1) { + console.log(">>>>>>>>>> replacePlaceholders match: " + JSON.stringify(match)); + console.log(">>>>>>>>>> replacePlaceholders p1: " + JSON.stringify(p1)); // p1 contains the key inside {% %} if (skip_additional_text && (p1 === 'additional_text')) { return match; } - const currPlaceholder = defaultPlaceholders.find(ph => ph.id === p1); + const currPlaceholder = defaultPlaceholders.find(ph => (ph.id === p1) || (ph.is_dynamic == 1 && p1.startsWith(ph.id + ':'))); + console.log(">>>>>>>>>> replacePlaceholders currPlaceholder: " + JSON.stringify(currPlaceholder)); if (!currPlaceholder) { return match; }