From 8b49ff679bb8242d982cb56cfecbc60367f81243 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com> Date: Thu, 2 Apr 2026 22:51:36 -0500 Subject: [PATCH] Fix mod_finder and mod_footer overrides to match Joomla core contracts mod_finder: - Use correct language keys (MOD_FINDER_SEARCH_VALUE, JSEARCH_FILTER_SUBMIT) - Use $app (available from module dispatcher) instead of Factory - Load com_finder.finder script and awesomplete preset - Add show_label, show_button, show_advanced support from core - Register com_finder extension assets - Use $route from module dispatcher (not hardcoded) mod_footer: - Use $lineone variable from module helper (not $module->content) - Add MOD_FOOTER_LINE2 language string output - mod_footer generates its own content, it's not a custom HTML module Co-Authored-By: Claude Opus 4.6 (1M context) --- src/html/mod_finder/default.php | 69 ++++++++++++++++++++++++--------- src/html/mod_footer/default.php | 5 +-- 2 files changed, 53 insertions(+), 21 deletions(-) diff --git a/src/html/mod_finder/default.php b/src/html/mod_finder/default.php index 2098b7d..af54099 100644 --- a/src/html/mod_finder/default.php +++ b/src/html/mod_finder/default.php @@ -14,39 +14,72 @@ defined('_JEXEC') or die; -use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Router\Route; -Factory::getApplication()->getLanguage()->load('mod_finder', JPATH_SITE); -Factory::getApplication()->getLanguage()->load('com_finder', JPATH_SITE); +// Load component language for search labels +$lang = $app->getLanguage(); +$lang->load('com_finder', JPATH_SITE); $suffix = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_COMPAT, 'UTF-8'); $headerClass = htmlspecialchars($params->get('header_class', ''), ENT_COMPAT, 'UTF-8'); + +$showLabel = $params->get('show_label', 1); +$labelClass = (!$showLabel ? 'visually-hidden ' : '') . 'finder'; + +Text::script('MOD_FINDER_SEARCH_VALUE'); + +/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = $app->getDocument()->getWebAssetManager(); +$wa->getRegistry()->addExtensionRegistryFile('com_finder'); + +if ($params->get('show_autosuggest', 1)) { + $wa->usePreset('awesomplete'); + $app->getDocument()->addScriptOptions('finder-search', ['url' => Route::_('index.php?option=com_finder&task=suggestions.suggest&format=json&tmpl=component', false)]); + Text::script('COM_FINDER_SEARCH_FORM_LIST_LABEL'); + Text::script('JLIB_JS_AJAX_ERROR_OTHER'); + Text::script('JLIB_JS_AJAX_ERROR_PARSE'); +} + +$wa->useScript('com_finder.finder'); ?>
showtitle) : ?> < class="mod-finder__title">title; ?>> -
diff --git a/src/html/mod_footer/default.php b/src/html/mod_footer/default.php index 75eba0d..aea199f 100644 --- a/src/html/mod_footer/default.php +++ b/src/html/mod_footer/default.php @@ -24,7 +24,6 @@ $headerClass = htmlspecialchars($params->get('header_class', ''), ENT_COMPAT, 'U showtitle) : ?> < class="mod-footer__title">title; ?>> - + +