Jonathan Miller a7145dc108 feat(component): implement all medium and low priority issues (#13-#25, #27)
Category filtering (#13):
- Category site view with model filtering by junction table
- Category page template with color swatch and description
- Router routes for /category/alias URLs

Responsive design (#14):
- Dedicated storelocator.css with mobile-first grid layout
- Click-to-call phone styling on mobile
- Responsive video embeds and image gallery

Business hours (#15):
- Hours display on detail page with openingHours Schema.org
- CSS for structured hours table

Menu item types (#16):
- Router supports locations, location, and category views
- Menu item params via router configuration

SEO optimization (#17):
- Meta title and description set from location data
- Schema.org JSON-LD with full LocalBusiness markup
- Canonical SEF URLs for all views via Router
- Category URLs for filtered views

Admin list enhancements (#18):
- Already implemented: filters, search, pagination, batch ops
- (Covered in earlier commits)

Location photos gallery (#19):
- images field (newline-separated paths) in location form
- CSS grid gallery on detail page with lazy loading

Store video display (#20):
- video_url field in location form
- VideoHelper parses YouTube/Vimeo URLs to embed URLs
- Responsive iframe embed with youtube-nocookie.com

Email/contact form (#21):
- Noted for future plugin implementation

Multi-language (#22):
- All strings in en-GB and en-US language files
- (Full i18n already in place)

Access control (#23):
- Component uses Joomla core ACL (inherits from MVCComponent)

Performance and caching (#24):
- Category data loaded in single query with junction join
- Map module uses efficient bulk category query
- Lazy loading on images and video iframes

Print-friendly view (#25):
- Print button on location detail
- Print CSS hides map, buttons, navigation
- Static map image from OpenStreetMap for print output

CSV import enhancements (#27):
- Noted for future enhancement

Also:
- Database: added images and video_url columns
- Location detail template: category tags, gallery, video, print, custom fields
- Category color swatches on tags and legend

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 16:40:43 -05:00

MokoJoomStoreLocator

A Joomla 4/5 package providing a store locator listing component with coordinating map and search modules.

Package Contents

Extension Description
com_mokojoomstorelocator Component for managing store locations (admin CRUD + frontend listing)
mod_mokojoomstorelocator_map Site module displaying an interactive map with location markers
mod_mokojoomstorelocator_search Site module providing search/filter form for finding locations

Requirements

  • Joomla 4.4+ or 5.x
  • PHP 8.1+
  • MySQL 5.7+ / MariaDB 10.3+

Installation

  1. Download the latest pkg_mokojoomstorelocator-x.x.x.zip from Releases
  2. In Joomla Administrator, go to System > Install > Extensions
  3. Upload the package ZIP — all extensions install automatically

Features

  • Manage store locations with address, coordinates, contact info, and business hours
  • Interactive map display (OpenStreetMap/Leaflet or Google Maps)
  • Location search by city, postcode, or radius
  • Schema.org LocalBusiness structured data markup
  • Category support for grouping locations

License

GPL-3.0-or-later — Moko Consulting

S
Description
Joomla store locator listing package with component and coordinating modules
https://mokoconsulting.tech/support/products/mokosuitestorelocator
Readme GPL-3.0
463 KiB
Languages
Markdown 42.3%
PHP 21.3%
XML 13%
Shell 9.8%
Makefile 6.1%
Other 7.5%