From 50dd010e2da8aab6d8a3bd2769bbb136405c1e07 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 29 Nov 2025 10:52:17 +0900 Subject: [PATCH] Remove empty class and style attributes when compiling template v2 --- common/framework/Template.php | 9 ++++++++- tests/_data/template/v2example.compiled.html | 2 ++ tests/_data/template/v2example.executed.html | 2 ++ tests/_data/template/v2example.html | 2 ++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/common/framework/Template.php b/common/framework/Template.php index d7b164f2a..387c3ba6a 100644 --- a/common/framework/Template.php +++ b/common/framework/Template.php @@ -865,7 +865,14 @@ class Template } } - return sprintf(' %s="%s"', $attribute, escape(implode($delimiters[$attribute], $values), false)); + if (count($values)) + { + return sprintf(' %s="%s"', $attribute, escape(implode($delimiters[$attribute], $values), false)); + } + else + { + return ''; + } } /** diff --git a/tests/_data/template/v2example.compiled.html b/tests/_data/template/v2example.compiled.html index 1c9dce8a3..280f116af 100644 --- a/tests/_data/template/v2example.compiled.html +++ b/tests/_data/template/v2example.compiled.html @@ -58,6 +58,8 @@ 'margin: 1rem' => Context::get('bar'), 'padding: 2rem' => false, ]); ?>> + _v2_buildAttribute('class', ['a' => false, 'b' => false]); ?>> + _v2_buildAttribute('style', ['a' => false, 'b' => false]); ?>>