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:
35
CHANGELOG.md
35
CHANGELOG.md
@@ -8,17 +8,48 @@
|
||||
DEFGROUP: Joomla.Template.Site
|
||||
INGROUP: MokoCassiopeia.Documentation
|
||||
PATH: ./CHANGELOG.md
|
||||
VERSION: 03.08.00
|
||||
VERSION: 03.08.01
|
||||
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.
|
||||
|
||||
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).
|
||||
|
||||
## [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
|
||||
|
||||
### Added - Community Builder Component Overrides
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
INGROUP: MokoCassiopeia.Documentation
|
||||
REPO: https://github.com/mokoconsulting-tech/MokoCassiopeia
|
||||
FILE: docs/MODULE_OVERRIDES.md
|
||||
VERSION: 03.08.00
|
||||
VERSION: 03.08.01
|
||||
BRIEF: Comprehensive guide to MokoCassiopeia mobile-responsive module overrides
|
||||
PATH: /docs/MODULE_OVERRIDES.md
|
||||
-->
|
||||
@@ -35,7 +35,7 @@ This document provides a comprehensive guide to all mobile-responsive module and
|
||||
|
||||
## 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
|
||||
|
||||
@@ -132,25 +132,11 @@ Manufacturer/brand display with grid layout.
|
||||
|
||||
### 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)
|
||||
|
||||
#### mod_menu
|
||||
**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
|
||||
**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.
|
||||
|
||||
#### mod_breadcrumbs
|
||||
**Location**: `src/templates/html/mod_breadcrumbs/`
|
||||
|
||||
@@ -3,17 +3,11 @@
|
||||
## Overview
|
||||
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
|
||||
|
||||
### 1. mod_menu
|
||||
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
|
||||
### 1. mod_breadcrumbs
|
||||
Breadcrumb navigation module featuring:
|
||||
- Schema.org structured data
|
||||
- Responsive breadcrumb trail
|
||||
@@ -21,7 +15,7 @@ Breadcrumb navigation module featuring:
|
||||
- Active page highlighting
|
||||
- Touch-friendly links
|
||||
|
||||
### 3. mod_login
|
||||
### 2. mod_login
|
||||
User login form module with:
|
||||
- Login and logout states
|
||||
- Two-factor authentication support
|
||||
@@ -31,7 +25,7 @@ User login form module with:
|
||||
- Touch-friendly form inputs (48px on mobile)
|
||||
- 16px input font (prevents iOS zoom)
|
||||
|
||||
### 4. mod_articles_latest
|
||||
### 3. mod_articles_latest
|
||||
Latest articles display module offering:
|
||||
- Responsive article cards
|
||||
- Optional metadata display (author, date, category, hits)
|
||||
@@ -42,7 +36,7 @@ Latest articles display module offering:
|
||||
|
||||
## Community Builder Modules
|
||||
|
||||
### 5. mod_cblogin
|
||||
### 4. mod_cblogin
|
||||
Community Builder login module with:
|
||||
- Avatar display in logged-in state
|
||||
- Profile link button
|
||||
@@ -52,7 +46,7 @@ Community Builder login module with:
|
||||
- Registration link
|
||||
- Pre/post text support
|
||||
|
||||
### 6. mod_comprofilerOnline
|
||||
### 5. mod_comprofilerOnline
|
||||
Community Builder online users module featuring:
|
||||
- Online user count display
|
||||
- Members vs. guests breakdown
|
||||
@@ -143,11 +137,6 @@ All modules include:
|
||||
|
||||
```
|
||||
src/templates/html/
|
||||
├── mod_menu/
|
||||
│ ├── default.php
|
||||
│ ├── default_url.php
|
||||
│ ├── default_component.php
|
||||
│ └── index.html
|
||||
├── mod_breadcrumbs/
|
||||
│ ├── default.php
|
||||
│ └── index.html
|
||||
@@ -217,7 +206,7 @@ Each PHP file can be modified to adjust HTML structure while maintaining mobile
|
||||
- [ ] Verify ARIA labels
|
||||
|
||||
### 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_login: Test login/logout flows, 2FA
|
||||
- [ ] mod_articles_latest: Check various parameter combinations
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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);
|
||||
@@ -1 +0,0 @@
|
||||
<!DOCTYPE html><html><head><title></title></head><body></body></html>
|
||||
@@ -25,7 +25,7 @@
|
||||
DEFGROUP: Joomla
|
||||
INGROUP: MokoCassiopeia
|
||||
PATH: templates/mokocassiopeia/templateDetails.xml
|
||||
VERSION: 03.06.03
|
||||
VERSION: 03.08.01
|
||||
BRIEF: Template manifest XML file for MokoCassiopeia
|
||||
=========================================================================
|
||||
-->
|
||||
@@ -36,8 +36,8 @@
|
||||
</server>
|
||||
</updateservers>
|
||||
<name>MokoCassiopeia</name>
|
||||
<version>03.06.03</version>
|
||||
<creationDate>2026-01-30</creationDate>
|
||||
<version>03.08.01</version>
|
||||
<creationDate>2026-02-27</creationDate>
|
||||
<author>Jonathan Miller || Moko Consulting</author>
|
||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||
<copyright>(C)GNU General Public License Version 3 - 2026 Moko Consulting</copyright>
|
||||
|
||||
Reference in New Issue
Block a user