Changes before error encountered
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
This commit is contained in:
20
CHANGELOG.md
20
CHANGELOG.md
@@ -63,6 +63,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- **After**: 17 module overrides (added mod_menu "Main Menu")
|
- **After**: 17 module overrides (added mod_menu "Main Menu")
|
||||||
- **Component overrides**: Still 7 (unchanged)
|
- **Component overrides**: Still 7 (unchanged)
|
||||||
|
|
||||||
|
### Removed - mod_search Override
|
||||||
|
|
||||||
|
**Cassiopeia approach**: Removed mod_search override to align with Cassiopeia template philosophy of not overriding standard Joomla modules.
|
||||||
|
|
||||||
|
#### Reason for Removal
|
||||||
|
- mod_search is a standard Joomla core module
|
||||||
|
- Following Cassiopeia template approach: use core layouts for standard modules
|
||||||
|
- Prevents potential language loading issues
|
||||||
|
- Ensures compatibility with future Joomla updates
|
||||||
|
- Core mod_search already includes responsive design and accessibility features
|
||||||
|
|
||||||
|
#### Files Removed
|
||||||
|
- `src/templates/html/mod_search/default.php` - Custom search module layout
|
||||||
|
- `src/templates/html/mod_search/index.html` - Security file
|
||||||
|
|
||||||
|
#### Module Count Update (After Removal)
|
||||||
|
- **Before**: 17 module overrides
|
||||||
|
- **After**: 16 module overrides (removed mod_search)
|
||||||
|
- **Component overrides**: Still 7 (unchanged)
|
||||||
|
|
||||||
### Removed - Documentation Cleanup
|
### Removed - Documentation Cleanup
|
||||||
|
|
||||||
**Documentation policy**: Removed all markdown files from `src/templates/html/` directory. All documentation belongs in `docs/` folder only.
|
**Documentation policy**: Removed all markdown files from `src/templates/html/` directory. All documentation belongs in `docs/` folder only.
|
||||||
|
|||||||
@@ -35,9 +35,9 @@ This document provides a comprehensive guide to all mobile-responsive module and
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
MokoCassiopeia includes **17 mobile-responsive module overrides** and **7 component view overrides** designed to enhance the mobile user experience for third-party extensions and the Main Menu navigation.
|
MokoCassiopeia includes **16 mobile-responsive module overrides** and **7 component view overrides** designed to enhance the mobile user experience for third-party extensions and the Main Menu navigation.
|
||||||
|
|
||||||
**Important**: Following Cassiopeia template best practices, MokoCassiopeia generally avoids overriding standard Joomla core modules to ensure proper language loading and compatibility. **Exception**: mod_menu "Main Menu" override provides essential Bootstrap 5 collapsible dropdown functionality.
|
**Important**: Following Cassiopeia template best practices, MokoCassiopeia avoids overriding standard Joomla core modules (such as mod_search, mod_login, mod_breadcrumbs) to ensure proper language loading and compatibility. **Exception**: mod_menu "Main Menu" override provides essential Bootstrap 5 collapsible dropdown functionality.
|
||||||
|
|
||||||
### Key Features
|
### Key Features
|
||||||
|
|
||||||
@@ -54,24 +54,7 @@ All module overrides share these characteristics:
|
|||||||
|
|
||||||
## Module Categories
|
## Module Categories
|
||||||
|
|
||||||
### 1. Search Module
|
### 1. VirtueMart E-Commerce Modules
|
||||||
|
|
||||||
#### mod_search
|
|
||||||
**Location**: `src/templates/html/mod_search/`
|
|
||||||
|
|
||||||
Search box with multiple button position options and responsive design.
|
|
||||||
|
|
||||||
**Features**:
|
|
||||||
- Button positions: left, right, top, bottom
|
|
||||||
- Text, icon, or both display modes
|
|
||||||
- 48px touch targets on mobile
|
|
||||||
- Prevents iOS zoom with 16px input font
|
|
||||||
|
|
||||||
**Documentation**: [mod_search/README.md](../src/templates/html/mod_search/README.md)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 2. VirtueMart E-Commerce Modules
|
|
||||||
|
|
||||||
Five comprehensive overrides for VirtueMart shopping functionality.
|
Five comprehensive overrides for VirtueMart shopping functionality.
|
||||||
|
|
||||||
@@ -132,7 +115,7 @@ Manufacturer/brand display with grid layout.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 3. Standard Joomla & Community Builder Modules
|
### 2. Standard Joomla & Community Builder Modules
|
||||||
|
|
||||||
Five essential Joomla core and Community Builder module overrides.
|
Five essential Joomla core and Community Builder module overrides.
|
||||||
|
|
||||||
@@ -197,7 +180,7 @@ Community Builder online users display.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 4. Industry Extension Modules
|
### 3. Industry Extension Modules
|
||||||
|
|
||||||
Eight popular third-party extension module overrides plus component views.
|
Eight popular third-party extension module overrides plus component views.
|
||||||
|
|
||||||
@@ -325,7 +308,7 @@ Membership pricing tables.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 5. Community Builder Components
|
### 4. Community Builder Components
|
||||||
|
|
||||||
Four comprehensive component view overrides for Community Builder user management.
|
Four comprehensive component view overrides for Community Builder user management.
|
||||||
|
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package Joomla.Site
|
|
||||||
* @subpackage mod_search
|
|
||||||
*
|
|
||||||
* @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_search module
|
|
||||||
*/
|
|
||||||
|
|
||||||
defined('_JEXEC') or die;
|
|
||||||
|
|
||||||
use Joomla\CMS\Language\Text;
|
|
||||||
|
|
||||||
// Get module parameters
|
|
||||||
$width = (int) $params->get('width', 20);
|
|
||||||
$maxlength = (int) $params->get('maxlength', 200);
|
|
||||||
$button_text = $params->get('button_text', '');
|
|
||||||
$button_pos = $params->get('button_pos', 'right');
|
|
||||||
$imagebutton = $params->get('imagebutton', 0);
|
|
||||||
$set_itemid = (int) $params->get('set_itemid', 0);
|
|
||||||
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8');
|
|
||||||
|
|
||||||
// Add responsive wrapper class
|
|
||||||
$wrapperClass = 'mod-search mod-search-responsive ' . $moduleclass_sfx;
|
|
||||||
$inputClass = 'mod-search__input form-control';
|
|
||||||
$buttonClass = 'mod-search__button btn btn-primary';
|
|
||||||
|
|
||||||
// Build the search button
|
|
||||||
if ($imagebutton) {
|
|
||||||
$buttonHtml = '<button class="' . $buttonClass . ' mod-search__button--icon" type="submit" aria-label="' . Text::_('JSEARCH_FILTER_SUBMIT') . '">'
|
|
||||||
. '<span class="icon-search" aria-hidden="true"></span>'
|
|
||||||
. '</button>';
|
|
||||||
} else {
|
|
||||||
$button_text = $button_text ?: Text::_('JSEARCH_FILTER_SUBMIT');
|
|
||||||
$buttonHtml = '<button class="' . $buttonClass . '" type="submit">'
|
|
||||||
. htmlspecialchars($button_text, ENT_COMPAT, 'UTF-8')
|
|
||||||
. '</button>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$output = '';
|
|
||||||
|
|
||||||
// Menuitem option
|
|
||||||
$mitemid = $set_itemid > 0 ? $set_itemid : $app->input->getInt('Itemid');
|
|
||||||
?>
|
|
||||||
|
|
||||||
<div class="<?php echo $wrapperClass; ?>">
|
|
||||||
<form action="<?php echo JRoute::_('index.php?option=com_search'); ?>" method="post" class="mod-search__form">
|
|
||||||
<?php if ($button_pos === 'top') : ?>
|
|
||||||
<div class="mod-search__button-wrapper mod-search__button-wrapper--top">
|
|
||||||
<?php echo $buttonHtml; ?>
|
|
||||||
</div>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<div class="mod-search__input-wrapper <?php echo $button_pos !== 'top' && $button_pos !== 'bottom' ? 'mod-search__input-wrapper--inline' : ''; ?>">
|
|
||||||
<?php if ($button_pos === 'left') : ?>
|
|
||||||
<div class="mod-search__button-wrapper mod-search__button-wrapper--left">
|
|
||||||
<?php echo $buttonHtml; ?>
|
|
||||||
</div>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<label for="mod-search-searchword<?php echo $module->id; ?>" class="visually-hidden">
|
|
||||||
<?php echo Text::_('COM_SEARCH_SEARCH'); ?>
|
|
||||||
</label>
|
|
||||||
<input
|
|
||||||
id="mod-search-searchword<?php echo $module->id; ?>"
|
|
||||||
name="searchword"
|
|
||||||
class="<?php echo $inputClass; ?>"
|
|
||||||
type="search"
|
|
||||||
maxlength="<?php echo $maxlength; ?>"
|
|
||||||
placeholder="<?php echo Text::_('COM_SEARCH_SEARCH'); ?>"
|
|
||||||
aria-label="<?php echo Text::_('COM_SEARCH_SEARCH'); ?>"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<?php if ($button_pos === 'right') : ?>
|
|
||||||
<div class="mod-search__button-wrapper mod-search__button-wrapper--right">
|
|
||||||
<?php echo $buttonHtml; ?>
|
|
||||||
</div>
|
|
||||||
<?php endif; ?>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php if ($button_pos === 'bottom') : ?>
|
|
||||||
<div class="mod-search__button-wrapper mod-search__button-wrapper--bottom">
|
|
||||||
<?php echo $buttonHtml; ?>
|
|
||||||
</div>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<input type="hidden" name="task" value="search" />
|
|
||||||
<input type="hidden" name="option" value="com_search" />
|
|
||||||
<input type="hidden" name="Itemid" value="<?php echo $mitemid; ?>" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<!DOCTYPE html><html><head><title></title></head><body></body></html>
|
|
||||||
Reference in New Issue
Block a user