From 25d51c1ec0e373dcc96da688693d10d2f72a80cf Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 28 May 2026 22:45:08 -0500 Subject: [PATCH] fix(cli): remove tpl_ prefix from template element in updates.xml Joomla stores templates in #__extensions without a prefix (bare name like "mokoonyx"), not "tpl_mokoonyx". The tpl_ prefix prevented Joomla from matching the update to the installed extension. Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- cli/updates_xml_build.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cli/updates_xml_build.php b/cli/updates_xml_build.php index fb46371..c7b3435 100644 --- a/cli/updates_xml_build.php +++ b/cli/updates_xml_build.php @@ -374,13 +374,12 @@ function buildEntry( $lines[] = " {$displayName}"; $lines[] = " {$displayName} {$stabilityLabel} build."; // Element in updates.xml must match what Joomla stores in #__extensions. - // Plugins are stored as bare element (folder handles grouping). - // All other types need their prefix: mod_, com_, tpl_, pkg_, lib_. + // Plugins and templates are stored as bare element (no prefix). + // Other types need their prefix: mod_, com_, pkg_, lib_. $prefixMap = [ 'package' => 'pkg_', 'module' => 'mod_', 'component' => 'com_', - 'template' => 'tpl_', 'library' => 'lib_', ]; $dbElement = isset($prefixMap[$extType]) ? $prefixMap[$extType] . $extElement : $extElement;