Remove mod_menu overrides to fix breaking menu links and language loading

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-27 00:25:03 +00:00
parent a3cfaca97e
commit a4463e374b
8 changed files with 48 additions and 149 deletions

View File

@@ -8,17 +8,48 @@
DEFGROUP: Joomla.Template.Site DEFGROUP: Joomla.Template.Site
INGROUP: MokoCassiopeia.Documentation INGROUP: MokoCassiopeia.Documentation
PATH: ./CHANGELOG.md PATH: ./CHANGELOG.md
VERSION: 03.08.00 VERSION: 03.08.01
BRIEF: Changelog file documenting version history of MokoCassiopeia BRIEF: Changelog file documenting version history of MokoCassiopeia
--> -->
# Changelog — MokoCassiopeia (VERSION: 03.08.00) # Changelog — MokoCassiopeia (VERSION: 03.08.01)
All notable changes to the MokoCassiopeia Joomla template are documented in this file. All notable changes to the MokoCassiopeia Joomla template are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [03.08.01] - 2026-02-27
### Removed - Fix Breaking Overrides
**Critical fix**: Removed mod_menu override that was causing menu links to break and language strings not to load.
#### Problem
- mod_menu override files (default.php, default_component.php, default_url.php) were attempting to load menu-specific layouts that don't exist in the template
- This broke Joomla's core menu rendering system
- Menu links were not functional
- Language strings were not loading properly in menus
#### Solution
- **Removed** entire `src/templates/html/mod_menu/` directory (4 files)
- Template now uses Joomla's default menu rendering
- Custom styling can still be applied via CSS using `.mod-menu` class
- All menu functionality restored to standard Joomla behavior
#### Documentation Updates
- Updated MODULE_OVERRIDES.md: Changed count from 20 to 19 module overrides, removed mod_menu section, added note about removal
- Updated STANDARD_MODULES_README.md: Removed mod_menu documentation, renumbered remaining modules, updated file structure
- Updated testing checklists to remove mod_menu references
#### Files Removed
- `src/templates/html/mod_menu/default.php`
- `src/templates/html/mod_menu/default_component.php`
- `src/templates/html/mod_menu/default_url.php`
- `src/templates/html/mod_menu/index.html`
**Note**: This is a patch release that removes problematic overrides to restore core functionality. Menu styling via CSS remains intact.
## [03.08.00] - 2026-02-22 ## [03.08.00] - 2026-02-22
### Added - Community Builder Component Overrides ### Added - Community Builder Component Overrides

View File

@@ -24,7 +24,7 @@
INGROUP: MokoCassiopeia.Documentation INGROUP: MokoCassiopeia.Documentation
REPO: https://github.com/mokoconsulting-tech/MokoCassiopeia REPO: https://github.com/mokoconsulting-tech/MokoCassiopeia
FILE: docs/MODULE_OVERRIDES.md FILE: docs/MODULE_OVERRIDES.md
VERSION: 03.08.00 VERSION: 03.08.01
BRIEF: Comprehensive guide to MokoCassiopeia mobile-responsive module overrides BRIEF: Comprehensive guide to MokoCassiopeia mobile-responsive module overrides
PATH: /docs/MODULE_OVERRIDES.md PATH: /docs/MODULE_OVERRIDES.md
--> -->
@@ -35,7 +35,7 @@ This document provides a comprehensive guide to all mobile-responsive module and
## Overview ## Overview
MokoCassiopeia includes **20 mobile-responsive module overrides** and **7 component view overrides** designed to enhance the mobile user experience across standard Joomla, VirtueMart, Community Builder, and popular third-party extensions. MokoCassiopeia includes **19 mobile-responsive module overrides** and **7 component view overrides** designed to enhance the mobile user experience across standard Joomla, VirtueMart, Community Builder, and popular third-party extensions.
### Key Features ### Key Features
@@ -132,25 +132,11 @@ Manufacturer/brand display with grid layout.
### 3. Standard Joomla & Community Builder Modules ### 3. Standard Joomla & Community Builder Modules
Six essential Joomla core and Community Builder module overrides. Five essential Joomla core and Community Builder module overrides.
**Master Documentation**: [STANDARD_MODULES_README.md](../src/templates/html/STANDARD_MODULES_README.md) **Master Documentation**: [STANDARD_MODULES_README.md](../src/templates/html/STANDARD_MODULES_README.md)
#### mod_menu **Note**: The mod_menu override has been removed to prevent conflicts with Joomla's core menu system. Use Joomla's default menu rendering or apply custom CSS to the `.mod-menu` class for styling.
**Location**: `src/templates/html/mod_menu/`
Main navigation menu with multiple layout files.
**Features**:
- Responsive horizontal/vertical layouts
- Multi-level menu support
- Active state highlighting
- Keyboard navigation
**Files**:
- `default.php` - Main menu layout
- `default_component.php` - Component links
- `default_url.php` - External URLs
#### mod_breadcrumbs #### mod_breadcrumbs
**Location**: `src/templates/html/mod_breadcrumbs/` **Location**: `src/templates/html/mod_breadcrumbs/`

View File

@@ -3,17 +3,11 @@
## Overview ## Overview
This directory contains mobile-responsive overrides for standard Joomla and Community Builder modules, designed specifically for the MokoCassiopeia template. This directory contains mobile-responsive overrides for standard Joomla and Community Builder modules, designed specifically for the MokoCassiopeia template.
**Note**: The mod_menu override has been removed to prevent conflicts with Joomla's core menu system. Use Joomla's default menu rendering or apply custom CSS to the `.mod-menu` class for styling.
## Standard Joomla Modules ## Standard Joomla Modules
### 1. mod_menu ### 1. mod_breadcrumbs
Main navigation menu module with:
- Responsive navigation structure
- BEM naming for easy styling
- Support for all menu types
- Semantic HTML5 nav element
- Accessibility-friendly with ARIA labels
### 2. mod_breadcrumbs
Breadcrumb navigation module featuring: Breadcrumb navigation module featuring:
- Schema.org structured data - Schema.org structured data
- Responsive breadcrumb trail - Responsive breadcrumb trail
@@ -21,7 +15,7 @@ Breadcrumb navigation module featuring:
- Active page highlighting - Active page highlighting
- Touch-friendly links - Touch-friendly links
### 3. mod_login ### 2. mod_login
User login form module with: User login form module with:
- Login and logout states - Login and logout states
- Two-factor authentication support - Two-factor authentication support
@@ -31,7 +25,7 @@ User login form module with:
- Touch-friendly form inputs (48px on mobile) - Touch-friendly form inputs (48px on mobile)
- 16px input font (prevents iOS zoom) - 16px input font (prevents iOS zoom)
### 4. mod_articles_latest ### 3. mod_articles_latest
Latest articles display module offering: Latest articles display module offering:
- Responsive article cards - Responsive article cards
- Optional metadata display (author, date, category, hits) - Optional metadata display (author, date, category, hits)
@@ -42,7 +36,7 @@ Latest articles display module offering:
## Community Builder Modules ## Community Builder Modules
### 5. mod_cblogin ### 4. mod_cblogin
Community Builder login module with: Community Builder login module with:
- Avatar display in logged-in state - Avatar display in logged-in state
- Profile link button - Profile link button
@@ -52,7 +46,7 @@ Community Builder login module with:
- Registration link - Registration link
- Pre/post text support - Pre/post text support
### 6. mod_comprofilerOnline ### 5. mod_comprofilerOnline
Community Builder online users module featuring: Community Builder online users module featuring:
- Online user count display - Online user count display
- Members vs. guests breakdown - Members vs. guests breakdown
@@ -143,11 +137,6 @@ All modules include:
``` ```
src/templates/html/ src/templates/html/
├── mod_menu/
│ ├── default.php
│ ├── default_url.php
│ ├── default_component.php
│ └── index.html
├── mod_breadcrumbs/ ├── mod_breadcrumbs/
│ ├── default.php │ ├── default.php
│ └── index.html │ └── index.html
@@ -217,7 +206,7 @@ Each PHP file can be modified to adjust HTML structure while maintaining mobile
- [ ] Verify ARIA labels - [ ] Verify ARIA labels
### Module-Specific Testing ### Module-Specific Testing
- [ ] mod_menu: Test menu types and levels - [ ] mod_breadcrumbs: Test breadcrumb trail on nested pages
- [ ] mod_breadcrumbs: Verify breadcrumb trail accuracy - [ ] mod_breadcrumbs: Verify breadcrumb trail accuracy
- [ ] mod_login: Test login/logout flows, 2FA - [ ] mod_login: Test login/logout flows, 2FA
- [ ] mod_articles_latest: Check various parameter combinations - [ ] mod_articles_latest: Check various parameter combinations

View File

@@ -1,40 +0,0 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_menu
*
* @copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* Mobile responsive override for mod_menu module
*/
defined('_JEXEC') or die;
use Joomla\CMS\Helper\ModuleHelper;
$id = '';
if ($tagId = $params->get('tag_id', '')) {
$id = ' id="' . $tagId . '"';
}
// The menu class is deprecated. Use mod-menu instead
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8');
// Add responsive wrapper class
$wrapperClass = 'mod-menu mod-menu-responsive ' . $moduleclass_sfx;
if ($params->get('layout', 'default') === 'default') {
$wrapperClass .= ' mod-menu--default';
}
?>
<nav class="<?php echo $wrapperClass; ?>"<?php echo $id; ?> aria-label="<?php echo htmlspecialchars($module->title, ENT_COMPAT, 'UTF-8'); ?>">
<?php if ($params->get('showHeading', 0)) : ?>
<h<?php echo $params->get('heading', 3); ?> class="mod-menu__heading">
<?php echo $module->title; ?>
</h<?php echo $params->get('heading', 3); ?>>
<?php endif; ?>
<?php require ModuleHelper::getLayoutPath('mod_menu', $params->get('layout', 'default') . '_' . $params->get('menutype')); ?>
</nav>

View File

@@ -1,14 +0,0 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_menu
*
* @copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* Mobile responsive component for mod_menu
*/
defined('_JEXEC') or die;
?>
<span class="mod-menu__separator"><?php echo $item->title; ?></span>

View File

@@ -1,52 +0,0 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_menu
*
* @copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* Mobile responsive menu list for mod_menu
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper;
$attributes = [];
if ($item->anchor_title) {
$attributes['title'] = $item->anchor_title;
}
if ($item->anchor_css) {
$attributes['class'] = $item->anchor_css;
}
if ($item->anchor_rel) {
$attributes['rel'] = $item->anchor_rel;
}
$linktype = $item->title;
if ($item->menu_image) {
if ($item->menu_image_css) {
$image_attributes['class'] = $item->menu_image_css;
$linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
} else {
$linktype = HTMLHelper::_('image', $item->menu_image, $item->title);
}
if ($item->params->get('menu_text', 1)) {
$linktype .= '<span class="image-title">' . $item->title . '</span>';
}
}
if ($item->browserNav == 1) {
$attributes['target'] = '_blank';
} elseif ($item->browserNav == 2) {
$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes';
$attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
}
echo HTMLHelper::_('link', $item->flink, $linktype, $attributes);

View File

@@ -1 +0,0 @@
<!DOCTYPE html><html><head><title></title></head><body></body></html>

View File

@@ -25,7 +25,7 @@
DEFGROUP: Joomla DEFGROUP: Joomla
INGROUP: MokoCassiopeia INGROUP: MokoCassiopeia
PATH: templates/mokocassiopeia/templateDetails.xml PATH: templates/mokocassiopeia/templateDetails.xml
VERSION: 03.06.03 VERSION: 03.08.01
BRIEF: Template manifest XML file for MokoCassiopeia BRIEF: Template manifest XML file for MokoCassiopeia
========================================================================= =========================================================================
--> -->
@@ -36,8 +36,8 @@
</server> </server>
</updateservers> </updateservers>
<name>MokoCassiopeia</name> <name>MokoCassiopeia</name>
<version>03.06.03</version> <version>03.08.01</version>
<creationDate>2026-01-30</creationDate> <creationDate>2026-02-27</creationDate>
<author>Jonathan Miller || Moko Consulting</author> <author>Jonathan Miller || Moko Consulting</author>
<authorEmail>hello@mokoconsulting.tech</authorEmail> <authorEmail>hello@mokoconsulting.tech</authorEmail>
<copyright>(C)GNU General Public License Version 3 - 2026 Moko Consulting</copyright> <copyright>(C)GNU General Public License Version 3 - 2026 Moko Consulting</copyright>