VM Theon

Active Shopping Joomla Template For Virtuemart

Build a mobile friendly ecommerce website today with the Active Shopping virtuemart template for Joomla

 
  • Change Log:
    September 3, 2026

    Version 5.4.8.1

    Maintenance release.

    • Joomla 3 compatibility code removed throughout the template. The template's PHP now uses Joomla's current API everywhere — the template files, the component override and every layout override (cart, checkout, product details, login and the modules). The old code only worked while Joomla's Behaviour – Backward Compatibility plugin was switched on, and will not work at all on Joomla 6. The most serious case was the error page: when it failed, Joomla could not display any error page, so an ordinary “page not found” was served to your visitors as a 500 server error.

    Both the template package and the Quick Start have been rebuilt for this release. Download the latest from your member area.

    August 18, 2026

    Version 5.4.8

    Active 5.4.8 — 2026-08-18

    • Version numbering has changed. From this release the template version matches the Joomla version it is built and tested against, so this is the 5.4.8 build for Joomla 5.4.8. The previous number for this template was 5.4.0.3. Nothing about how you install or update the template changes, and Joomla still treats 5.4.8 as newer than 5.4.0.3.
    • The Quick Start now installs Joomla 5.4.8. The previous Quick Start bundled Joomla 5.4.7. Starting a new site from the Quick Start now gives you the current Joomla release without an immediate update afterwards.
    • VirtueMart has been updated to 4.8.0 — a security update. The Quick Start previously bundled VirtueMart 4.6.8. VirtueMart 4.8.0 is the current release from the VirtueMart team and carries their security fixes, so a site started from this Quick Start begins on the patched version. If you already run this template on an existing site, update VirtueMart there through Joomla's own Extensions → Update screen — the template package does not carry VirtueMart itself.
    • Invisible characters were breaking the page's JavaScript. 168 zero-width characters (U+200B) had been scattered through index.php, some of them inside a block of inline JavaScript. They cannot be seen in an editor and they survive copy-and-paste, but to a browser they are a syntax error, so the whole script block never ran. On this template the casualty was the slide-out menu panel, which was silently dead. All 168 are gone and every inline script on the page now parses — 2 uncaught page errors in the browser console, now 0.
    • The menu code called a jQuery function that jQuery 3 removed. .offset() on the window object no longer exists in the jQuery version Joomla ships, which threw an error and stopped the script that used it. The template now loads a small shared compatibility file (js/cs-jq-compat.js) restoring the handful of older jQuery calls our templates' bundled libraries still make.
    • The Quick Start no longer installs the retired vmbasic template. VirtueMart's own package reinstates an old vmbasic site template. It was riding into the Quick Start as 88 files plus two registration rows, and appearing in your Site Template Styles list for no reason. It is gone.
    • An internal development report file has been removed from the package. security-sweep-3f-report.md was one of our own working notes and should never have been inside the shipped template folder.

    No other template file changed between 5.4.0.3 and 5.4.8.

    July 22, 2026

    Version 5.4.0.3

    Maintenance release — fixes for issues found in real-world use on a live production site. With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

    • Fixed: search-module icon rendered as a stray character — the Joomla 3 jui icon font was removed from Joomla core in Joomla 4, so the glyph fell back to a literal character and the dead font reference 404'd on every page. The icon is now a self-contained SVG.
    • Fixed: pagination arrows (first/previous/next/last) rendered as empty squares — Joomla 4+ uses newer icon class names the template never mapped. Now self-contained SVGs.
    • Fixed: featured/blog articles showing only their title — tall single-column intro articles were clipped by the blog layout CSS.
    • Improved: search button sits snug against the search input.
    • Fixed: the template version shown after install now tracks the real release version.
    July 16, 2026

    Version 5.4.0.2

    Bugfix release. Fixes a legacy Joomla 3 form-validation call (behavior.formvalidation, removed in Joomla 5) in the VirtueMart login template override, which could cause a 500 - behavior::formvalidation not found error on pages where the login block is shown to guests — for example the cart, depending on your VirtueMart settings. The override now uses the Joomla 5-native behavior.formvalidator.

    Found during the follow-up on the 2026-07-15 report — thank you again, Zoltán!

    July 15, 2026

    Version 5.4.0.1

    Bugfix release. Fixes a PHP 8 fatal error (count(): Argument #1 ($value) must be of type Countable|array, null given) on the cart "Bill To / Ship To" address edit page. The edit_address.php template override — and its Bootstrap-3 layout variant — now guard the optional user-fields block with !empty() instead of count(), so guest checkout address editing works on all PHP 8 versions. Recommended update for everyone running Active Shopping 5.4.0.

    Thank you, Zoltán, for taking the time to report this!

    June 3, 2026

    Version 5.4.0

    Compatible with: Joomla 5.4.6 · VirtueMart 4.6.8 · PHP 8.x (verified on PHP 8.3.31)
    First Joomla 5 native release. Active Shopping has been rebuilt from the ground up for Joomla 5.4.6 + VirtueMart 4.6.8 + PHP 8.3 + Bootstrap 5 + Swiper 11, with no carry-over of the bundled jQuery 1.8.1, the Camera slideshow library, the Superfish menu init, the jquery.mobile + jquery.easing stack, or the Joomla 3 / Joomla 4 compatibility shims that defined earlier releases. This is the first Active Shopping release that ships with full Joomla 5 namespace compliance, modern social-network parity, a hardened output-escaping pass across 285 admin-controlled echo sites, and J5-native admin form switchers throughout the Template Style fieldset.

    Added

    Joomla 5 native API

    • Full Joomla 5 namespace compliance across the template entry-point, helpers, and parameter-echo paths — JFactoryFactory, JTextText, JRouteRoute, JUriUri, JHtmlHTMLHelper, JComponentHelperComponentHelper, and the rest of the deprecated J* static-class family.
    • templateDetails.xml rewritten to the J5 manifest schema with method="upgrade" declared so existing customers can install in place without uninstall-first. Extension-version declaration bumped to 5.4.0.
    • Native Joomla 5 jQuery (loaded via the CMS) used in place of the previously-bundled jQuery 1.8.1.
    • VirtueMart 4 helper integration refactored end-to-end for J5 namespace resolution.

    Swiper 11 slideshow

    • The legacy Camera slideshow plugin has been replaced with Swiper 11 — CDN-loaded (swiper-bundle.min.{css,js}), touch-friendly, accessible, and actively maintained. Same visual look and feel as the prior slideshow; modern engine underneath.
    • Slideshow markup updated to Swiper's expected DOM shape (<div class="swiper camera_wrap"><div class="swiper-wrapper"> → per-slide <div class="swiper-slide" style="background-image: url(/...); background-size:cover">); the legacy camera_caption markup is preserved verbatim so existing caption CSS keeps matching.
    • Swiper init (~12 lines) honours the donor's existing cam_time + cam_pagination parameters with effect: 'fade', loop, and autoplay.
    • Slide container sizing: aspect-ratio: 3/1; max-height: 480px; min-height: 280px; — banner proportions matching the original Camera plugin's apparent height. Required because Swiper slides with only a background-image (no text/img children) collapse to 0 height by default; Camera used to set its own slide height in JS.

    Modern social-network support

    • Social-media set parity — added Threads, Bluesky, Mastodon, TikTok, Discord, Instagram, Pinterest.
    • X (the Twitter rebrand) replaces the legacy Twitter icon with the current logo.
    • Removed dead networks: Google+, StumbleUpon, Digg, Blogger, MySpace.
    • Social-block parameter set extended: each network now has its own *ON visibility toggle plus URL field, all wired into the Template Style admin form's Community fieldset.
    • Per-network icon glyphs delivered via the bundled FontAwesome 6 set.

    Security helpers (XSS hardening)

    • New output-escape helpers added to index.php:
      • phEsc() — HTML attribute escaping for href, src, alt, title, and Swiper caption output.
      • phHexColor() — color parameter validation (regex ^#?[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$) with fallback to #000000 on bad input.
      • phCssDim() — dimension parameter validation accepting px / em / rem / % / vh / vw / pt / ex / ch / cm / mm / in.
    • 285 admin-controlled echoes across the template tree wrapped with these helpers wherever user-controlled parameters reach the output.

    Changed

    Admin form modernization — J5-native switchers

    • 89 legacy class="switch" type="checkbox" field declarations across every fieldset of templateDetails.xml converted to J5-native type="radio" layout="joomla.form.field.radio.switcher" with explicit <option value="0">JNO</option><option value="1">JYES</option> pairs.
    • Scope covers every fieldset, not just the Community-tab social ON toggles: sliderON, cookielaw, jumpToTop, all the Camera-era FX toggles, and the rest of the legacy boolean-input set.
    • Customers opening the Template Style edit screen now see Joomla 5's native pill-switcher UI instead of the 2014-era checkbox controls.

    jQuery cleanup

    • Removed bundled jQuery 1.8.1 — template now uses Joomla 5's native jQuery.
    • Removed the jQuery.browser = {} shim (extinct as of jQuery 1.9; only present to support legacy IE detection that has no modern relevance).
    • Removed the Superfish / Supersubs menu init — menu hovers are now CSS :hover only, via nav.css.
    • Removed jquery.mobile.customized.min.js and jquery.easing.1.3.js — both were Camera-slideshow dependencies superseded by Swiper.

    Bootstrap migration

    • Template now renders against Joomla 5's bundled Bootstrap 5 natively — the Bootstrap 4 shim that earlier releases carried has been dropped.
    • 89 toggle conversions from Bootstrap 4's data-toggle / data-target attributes to Bootstrap 5's data-bs-* API across the template tree.
    • Layout markup updated where BS2-era grid syntax remained; existing column structure preserved, class names modernized.

    Bundled extensions refreshed

    • Akeeba Backup Core updated from 10.2.1 to 10.3.4 — current stable release.
    • Weblinks Extension Package updated from 4.3.1 to 5.1.0 — current Joomla 5-compatible release.
    • Customers installing the 5.4.0 quickstart land on a clean Extensions Update screen with zero pending updates.

    Fixed

    • Slideshow zero-height regression after the Camera → Swiper swap — Swiper slides with only a background-image collapsed to 0 height on first render. Resolved with the aspect-ratio: 3/1; max-height: 480px; min-height: 280px; container sizing block on .swiper within .camera_wrap.
    • PHP 8 dispatcher-removed-variable warnings — null-coalesce fallbacks added for parameters Joomla 5's dispatcher no longer passes to the template's index.php directly.

    Quickstart database hardening

    • Phase 5j: customer-facing aggregate counters reset to 0. Donor-site preview / dev hits no longer leak into a customer's fresh install. Fourteen counters now zeroed at build-quickstart.sh time:
      • Joomla core — #__content.hits (72 articles × 16,977 accumulated hits on donor → 0), #__categories.hits, #__contact_details.hits, #__newsfeeds.hits, #__tags.hits, #__ucm_content.core_hits, #__weblinks.hits, #__redirect_links.hits, #__core_log_searches.hits, #__finder_logging.hits.
      • VirtueMart — #__virtuemart_products.hits, #__virtuemart_products.product_sales, #__virtuemart_categories.hits, #__virtuemart_manufacturers.hits.
      • Users — #__users.resetCount (cleared so first customer password reset isn't pre-counted).
    • Install wizard verified clean on PHP 8.1, 8.2, and 8.3.

    Removed

    • Bundled jQuery 1.8.1 + jQuery.browser IE shim.
    • Superfish / Supersubs menu init scripts (replaced with CSS :hover).
    • Camera slideshow library (superseded by Swiper 11): camera.min.js, camera.js, jquery.mobile.customized.min.js, jquery.easing.1.3.js.
    • Joomla 3 + Joomla 4 compatibility shims.
    • Bootstrap 4 fallback assets.
    • Deprecated J3-era API call sites that survived the J4 transition.
    • Dead social networks: Google+, StumbleUpon, Digg, Blogger, MySpace — params + icons + admin fields all stripped.
    • Legacy BS4 data-toggle attribute references.
    Notes
    • Joomla: 5.4.6. VirtueMart: 4.6.8. PHP: 8.3 (verified on PHP 8.3.31). Bootstrap: 5. Active Shopping template: 5.4.0 (this release).
    • This release targets Joomla 5.4+ exclusively. Sites still on Joomla 4 should remain on the 5.3.0 release until they've completed their Joomla 4 → 5 migration.
    • Active Shopping 5.4.0 is the first Active Shopping release packaged in the modern pkg_activeshopping Joomla update-server format with method="upgrade" on both the standalone package and the template extension — existing customers can install pkg_activeshopping-5.4.0.zip over the top via the Extensions Manager, no uninstall-first required.

    Package format

    • Standalone template: pkg_activeshopping-5.4.0.zip — Joomla package wrapper that installs the tpl_activeshopping template extension and registers it under the package manager.
    • Quickstart bundle: activeshopping-quickstart-J5.4.0-03.06.2026.zip — complete Joomla 5.4.6 install with VirtueMart 4.6.8 and Active Shopping pre-loaded as the active template, with all customer-facing aggregate counters zeroed on first install.
    August 6, 2025

    Version 06.08.2025 5.3.0/4.4.4

    • Upgraded - Now compatible Joomla 5
    • Upgraded - Now compatible Virtuemart 4.4.4
    • Fixed - Minor bugs
    November 29, 2024

    Version 29.11.2024 5.1.2/4.2.12

    • Fixed - Minor bugs with cart
    August 8, 2024

    Version 08.08.2024 5.1.2/4.2.12

    • Upgraded - Now compatible Joomla 5
    • Upgraded - Now compatible VirtueMart 4.2.12
    • Fixed - Minor bugs
    November 17, 2023

    Version 31.10.2023 4.3.4/4.2.0

    • Updated - Compatible with PHP 8.2
    • Updated - Compatible with Joomla 4.3.4
    • Updated - Compatible with VirtueMart 4.2.0
    • Fixed - Minor bugs
    June 30, 2023

    Version 26.06.2023 4.3.0/4.0.13

    • Fixed - VirtueMart Products Module issue
    • Fixed - Double ReCaptcha on VirtueMart Registration page
    • Fixed - Template toggle button not displaying
    June 23, 2023

    Version 16.06.2023 4.3.0/4.0.13

    • Fixed - Menu Params error for adding in image on menu
    May 20, 2023

    Version 20.05.2023 4.3.0/4.0.12

    • Fixed - Template updated to be compatible with Joomla 4.3
    August 8, 2022

    Version 08.08.2022 3.10.10/4.0.6

    • Fixed - Joomla 3.10.11
    • Fixed - Template updated for PHP 8.0