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
|
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
|
||||||
|
|||||||
@@ -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/`
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
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>
|
||||||
|
|||||||
Reference in New Issue
Block a user