Axxen Virtuemart Template Changelog
- 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-php83handler.
May 29, 2026Version 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.xmlupdated to declare J5 compatibility (<extension version="5.0" ...>withmethod="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.cssdirectly. The three legacy BS2 stylesheets that previously loaded fromtemplates/axxen/css/(bootstrap.min.cssv2.3.2,bootstrap-responsive.min.css,bootstrap-extended.css) are no longer enqueued. css/axxen-fixups.cssships 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,.vmdebugsuppression, menu-vanilla parent-arrow indicators, native currency-selector chrome).
Modern slideshow — Swiper 11
- Custom legacy Camera.js plugin replaced with Swiper 11.
templateDetails.xmlkeeps the existingcam_*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_captionto.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-slideshoware what the new Swiper config targets.
Vanilla JavaScript menu
- New
js/menu-vanilla.js— self-contained IIFE replacement for the legacysuperfish.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 whatsupersubs.jscalculated dynamically).
CSS-driven background images
jquery.backstretchremoved. Section backgrounds (.panel1side-panel, hero areas) now use CSSbackground-image+background-size: cover+background-position: center— the standard modern technique that ships with no JS payload at all.
Native currency selector
jquery.dropkickremoved. 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 inaxxen-fixups.cssso 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.pngships with the template. - All new fields are surfaced in the template-options panel with show/hide toggles and URL entry, defaulting to
#TYPE-URL-HEREso site builders see a clear placeholder rather than a broken link. - Three locations in
index.phpupdated in lockstep (outer multi-lineORchain that gates the entire Community Links container, inner single-lineORchain that sets the$socialsflag, 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 forhref,src,alt,title, and Swiper caption output.phHexColor()— color parameter validation (^#?[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$) with fallback to#000000on bad input.phCssDim()— dimension parameter validation acceptingpx / em / rem / % / vh / vw / pt / ex / ch / cm / mm / in.
- Active
.htaccessat the template root replacing the historicalhtaccess.txtplaceholder, with a<FilesMatch>403 rule for backup-extension patterns (.bak,.bak-*,pre-*,.orig,.old,.swp,.swo,.tmp,~).
Documentation
CHANGELOG.mdandCHANGELOG.htmlship inside the template tree.
Changed
J3 → J5 API migration
- Every deprecated
J*static class call migrated to its namespaced equivalent:JFactory→Factory,JText→Text,JHtml→HTMLHelper,JUri→Uri,JRoute→Route,JComponentHelper→ComponentHelper, 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 splitmod_logininto two separate template files (default.phpfor login state,default_logout.phpfor logout state) and the dispatcher no longer passes$typetodefault.php. The legacy Axxen override carried anif ($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 afterdefined('_JEXEC') or die;. Sibling pattern to themod_login$typefix — Joomla 5’smod_breadcrumbsdispatcher no longer passes$moduleclass_sfxto 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 overridesmod_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 withuse Joomla\CMS\Router\Route;/use Joomla\CMS\Language\Text;/use Joomla\CMS\HTML\HTMLHelper;, and everyJText::_()/JRoute::_()/JHtml::_()call migrated to the corresponding namespaced helper. BS2hidden-phoneutility classes converted to BS5d-none d-md-table-cell.
Fixed
- PayPal plugin
plgVmDisplayLogin()fatal under VM4 + J5 namespace migration: dropped the legacyVmViewtype hint onplugins/vmpayment/paypal/paypal.phpline 285 (argument is passed as\VirtueMart\VmViewin 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.jsshim — 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
.htaccessat 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 thetpl_axxentemplate 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 aterror_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 thetemplates/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 Joomlaerror_reportinglevel (which is what production sites run), this deprecation is invisible.August 11, 2025Version 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, 2024Version 29.11.2024 5.1.2/4.2.12
- Fixed - Minor bugs with cart
August 15, 2024Version 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, 2023Version 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, 2023Version 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, 2023Version 16.06.2023 4.3.0/4.0.13
- Fixed - Menu Params error for adding in image on menu
May 20, 2023Version 20.05.2023 4.3.0/4.0.12
- Fixed - Template updated to be compatible with Joomla 4.3
September 9, 2022Version 09.09.2022 3.10.11/4.0.6
- Fixed - Joomla 3.10.11
- Fixed - Template updated for PHP 8.0
