VM Theon

Axxen Shop Joomla Template For Virtuemart

Build a mobile friendly ecommerce website today with the Axxen shop virtuemart template for Joomla

 
  • Change Log:
    May 30, 2026

    Version 5.4.1

    5.4.1 2026-05-30

    Maintenance release — Quickstart and standalone rebuilt against VirtueMart 4.6.8 Pro. Quickstart now formally ships as a release artifact. Axxen 5.4.0 (2026-05-28) shipped standalone-only; a Quickstart bundle was assembled mid-modernization but never formally released. This 5.4.1 release formalizes the Quickstart as a first-class release artifact alongside the standalone template package, and rebuilds both against current VirtueMart 4.6.8 Pro (Revision 11258, March 12 2026).

    Changed — Quickstart bundle (axxen-quickstart-J5.4.6-30.05.2026.zip)

    • Joomla: 5.4.6 (current stable release as of 26 May 2026).
    • VirtueMart: 4.6.8 Pro (Revision 11258, March 12 2026).
    • Axxen template: 5.4.1 (this release).
    • Bundle ships with all 5.4.0 J5-native modernization in place — Bootstrap 5.3.8, Swiper 11 slideshow, vanilla-JS menu, modern social-network set, security helpers.

    Changed — standalone template package (pkg_axxen-5.4.1.zip)

    • Axxen template: 5.4.1.
    • No code changes vs 5.4.0 inside the template tree itself — all 5.4.0 J5-native modernization work (Bootstrap 5.3.8, Swiper 11 slideshow, vanilla-JS menu, modern social-network set, security helpers) remains in place. This release is a rebuild against current VirtueMart + a version bump so the released package reflects ongoing maintenance activity.
    • The standalone template installs cleanly on top of any Joomla 5 + VirtueMart 4.x site; for the cleanest maxdebug experience, run against VirtueMart 4.6.8 Pro (or newer).

    Notes

    • Server PHP version when this release was prepared: PHP 8.3.31 on green's ea-php83 handler.
    May 29, 2026

    Version 5.4.0

    5.4.0 2026-05-28

    First Joomla 5 native release. Axxen has been rebuilt for Joomla 5.4.6 + VirtueMart 4.6.4 + PHP 8.x + Bootstrap 5.3.8 + vanilla JavaScript, with no carry-over of the Bootstrap 2 / jQuery 1.x / Camera.js / Superfish / Dropkick / Backstretch dependencies that defined the earlier 5.1.x-era codebase. This is the first Axxen release that ships with no template-side jQuery and no BS2 markup in any rendered output.

    Added

    Joomla 5 native API

    • Full Joomla 5 namespace compliance across template files, overrides, and helper utilities — every Joomla\CMS\* class accessed through its namespaced form (Factory, Text, HTMLHelper, Uri, Route, ComponentHelper).
    • templateDetails.xml updated to declare J5 compatibility (<extension version="5.0" ...> with method="upgrade") so existing Axxen customers can update in place without uninstall-first.

    Bootstrap 5.3.8 native rendering

    • Template now loads Joomla 5’s bundled /media/vendor/bootstrap/css/bootstrap.min.css directly. The three legacy BS2 stylesheets that previously loaded from templates/axxen/css/ (bootstrap.min.css v2.3.2, bootstrap-responsive.min.css, bootstrap-extended.css) are no longer enqueued.
    • css/axxen-fixups.css ships as the final cascade layer to harden VirtueMart 4 + Joomla 5 admin classes that have no BS2 equivalent (VM product-grid <ul> bullet resets, VM tab-module BS3-markup bridge, .vmdebug suppression, menu-vanilla parent-arrow indicators, native currency-selector chrome).

    Modern slideshow — Swiper 11

    • Custom legacy Camera.js plugin replaced with Swiper 11.
    • templateDetails.xml keeps the existing cam_* template-parameter set (pagination, navigation, autoplay timings) so site-builder muscle memory is preserved; Swiper is configured from those same params at render time.
    • Slide markup migrated from .camera_wrap / .camerasrc / .camera_caption to .swiper / .swiper-wrapper / .swiper-slide.
    • Slideshow container id="ph-camera-slideshow" preserved so any external CSS targeting that ID continues to work; new classes .swiper.ph-swiper-slideshow are what the new Swiper config targets.

    Vanilla JavaScript menu

    • New js/menu-vanilla.js — self-contained IIFE replacement for the legacy superfish.js + supersubs.js + inline jQuery menu handlers.
    • WeakMap-backed 500 ms mouse-out delay preserves the original menu-hover feel without any jQuery dependency.
    • Parent-arrow indicators and submenu width handling moved to pure CSS in axxen-fixups.css (replaces what supersubs.js calculated dynamically).

    CSS-driven background images

    • jquery.backstretch removed. Section backgrounds (.panel1 side-panel, hero areas) now use CSS background-image + background-size: cover + background-position: center — the standard modern technique that ships with no JS payload at all.

    Native currency selector

    • jquery.dropkick removed. The VirtueMart currency selector now renders as a styled native <select> element. Custom chrome (border, padding, custom SVG dropdown arrow, Axxen teal focus ring #29becc) lives in axxen-fixups.css so the visual integration with the rest of the template is preserved.

    Modern social network support

    • Seven new social services added to the Community Links section: Bluesky, Threads, Mastodon, TikTok, Pinterest, Discord, Instagram.
    • X (the Twitter rebrand) replaces the legacy Twitter icon; per-link icon file x.png ships with the template.
    • All new fields are surfaced in the template-options panel with show/hide toggles and URL entry, defaulting to #TYPE-URL-HERE so site builders see a clear placeholder rather than a broken link.
    • Three locations in index.php updated in lockstep (outer multi-line OR chain that gates the entire Community Links container, inner single-line OR chain that sets the $socials flag, and the <ul id="social-links"> rendered list) so a single missing show-toggle can no longer leave an orphan <li> in the rendered markup.

    Security helpers

    • New escape and validation helpers added to index.php:
      • phEsc() — HTML attribute escaping for href, src, alt, title, and Swiper caption output.
      • phHexColor() — color parameter validation (^#?[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.
    • Active .htaccess at the template root replacing the historical htaccess.txt placeholder, with a <FilesMatch> 403 rule for backup-extension patterns (.bak, .bak-*, pre-*, .orig, .old, .swp, .swo, .tmp, ~).

    Documentation

    • CHANGELOG.md and CHANGELOG.html ship inside the template tree.

    Changed

    J3 → J5 API migration

    • Every deprecated J* static class call migrated to its namespaced equivalent: JFactoryFactory, JTextText, JHtmlHTMLHelper, JUriUri, JRouteRoute, JComponentHelperComponentHelper, etc.
    • JDocumentHTML::countModules()$this->countModules() (J3 helper static deprecated in J6).
    • JModuleHelper::getModules()\Joomla\CMS\Helper\ModuleHelper::getModules().
    • new JRegistry()new \Joomla\Registry\Registry().

    Template-override architectural updates for Joomla 5 dispatcher

    • html/mod_login/default.php — added $type = $type ?? 'login'; fallback at the top of the file. Joomla 5 split mod_login into two separate template files (default.php for login state, default_logout.php for logout state) and the dispatcher no longer passes $type to default.php. The legacy Axxen override carried an if ($type == 'logout') branch from the pre-Joomla-5 era when both states lived in one file; the fallback silences the resulting Undefined variable $type warning while preserving that branch as a safety net.
    • html/mod_breadcrumbs/default.php — added $moduleclass_sfx = $moduleclass_sfx ?? ''; fallback after defined('_JEXEC') or die;. Sibling pattern to the mod_login $type fix — Joomla 5’s mod_breadcrumbs dispatcher no longer passes $moduleclass_sfx to override templates that previously relied on it. (This finding has been recorded in Cybersalt’s J5-modernization skill as a reusable check for any future legacy template that overrides mod_breadcrumbs.)

    VirtueMart 4 template overrides modernized for BS5

    • html/com_virtuemart/cart/default_pricelist.php — legacy <?php defined ('_JEXEC') or die('Restricted access'); ?> opener rewritten to a modern multi-line PHP header with use Joomla\CMS\Router\Route; / use Joomla\CMS\Language\Text; / use Joomla\CMS\HTML\HTMLHelper;, and every JText::_() / JRoute::_() / JHtml::_() call migrated to the corresponding namespaced helper. BS2 hidden-phone utility classes converted to BS5 d-none d-md-table-cell.

    Fixed

    • PayPal plugin plgVmDisplayLogin() fatal under VM4 + J5 namespace migration: dropped the legacy VmView type hint on plugins/vmpayment/paypal/paypal.php line 285 (argument is passed as \VirtueMart\VmView in the namespaced runtime). Same fix shipped in the Avant 5.4.0 release for the same upstream issue.

    Removed

    • Bootstrap 2.3.2 stylesheet block from index.php (3 legacy <link> lines).
    • jQuery 1.8.1 and the jquery.noConflict.js shim — Joomla 5’s bundled jQuery slim build is loaded on demand by VirtueMart 4; the template itself has no jQuery dependency.
    • Camera.js slideshow vendor block — replaced by Swiper 11.
    • Superfish + Supersubs menu plugins — replaced by menu-vanilla.js.
    • jquery.backstretch — replaced by CSS background-size: cover.
    • jquery.dropkick — replaced by native <select> with custom CSS chrome.
    • Five retired social services: Google+, StumbleUpon, Digg, Blogger, and the legacy plain-Twitter slot (replaced by X). Associated icon files and language constants removed.

    Security

    • Active .htaccess at the template root blocks direct HTTP access to common backup-file extensions, protecting against accidental exposure of .bak / .orig / editor-swap-file content created during template customization.

    Built against (VirtueMart + Joomla baseline)

    • Joomla CMS: 5.4.6 (current as of release date)
    • VirtueMart core: 4.6.4
    • VirtueMart AIO: 4.6.4
    • VirtueMart TcPdf Library: 6.8.2
    • Akeeba Backup Core for Joomla: 10.3.3
    • Weblinks Extension Package: 5.1.0
    • Bootstrap (CSS): 5.3.8 (Joomla 5 bundled)
    • PHP: 8.3.x verified (compatible with 8.2 / 8.3 / 8.4)

    Package format

    • Standalone template: pkg_axxen-5.4.0.zip — Joomla package wrapper that installs the tpl_axxen template extension and registers it under the package manager. <blockChildUninstall>true</blockChildUninstall> prevents customers from removing the template directly via the Extensions Manager (must uninstall the package instead).
    • No Quickstart bundle: Axxen 5.4.0 ships standalone only. Customers install over an existing Joomla 5 + VirtueMart 4 site.
    Known remaining warning at maxdebug — out of standalone-template scope. One PHP 8.2 deprecation still fires on the cart view at error_reporting='maximum':
    Creation of dynamic property VirtueMartControllerCart::$address_type is deprecated
    in components/com_virtuemart/controllers/cart.php on line 87
    This is a VirtueMart-core file, outside the templates/axxen/ tree. Since this is a standalone template release (no Quickstart bundle), VM-core patches are intentionally not shipped — that’s upstream VirtueMart’s territory and is expected to be addressed in a future VirtueMart release. At the default Joomla error_reporting level (which is what production sites run), this deprecation is invisible.
    August 11, 2025

    Version 11.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 15, 2024

    Version 13.08.2024 5.1.2/4.2.12

    • Upgraded - Now compatible Joomla 5
    • Upgraded - Now compatible VirtueMart 4.2.12
    • Fixed - Minor bugs
    December 18, 2023

    Version 23.11.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 bug
    • 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
    September 9, 2022

    Version 09.09.2022 3.10.11/4.0.6

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