VM Theon

Vio Shop Joomla Template For Virtuemart

Build a mobile friendly ecommerce website today with the Vio shop 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

    Platform maintenance release. The bundled Quick Start now installs Joomla 5.4.8 and VirtueMart 4.8.0, and the template version now tracks the Joomla version it is built and tested against.

    Security

    • VirtueMart updated to 4.8.0 — security release. The Quick Start previously bundled VirtueMart 4.6.8. VirtueMart 4.8.0 is a security release published by the VirtueMart team, and the demo this package is built from has been updated to it. This matters for existing stores too: installing this template package does not update VirtueMart on a site you already run, so if your store was built from an earlier Quick Start please update VirtueMart there as well, through Joomla's own Extensions → Update screen.

    Fixed

    • The installer package was missing a file it told Joomla to expect. pkg_viostore.xml declares an English language file for the package (language/en-GB/pkg_viostore.sys.ini, which supplies the package's name and description in Extensions Manager). That file shipped in 5.4.0 and 5.4.0.1 but was dropped from the 5.4.0.2 and 5.4.0.3 packages while the manifest kept declaring it. It is restored, and its description text now reads 5.4.8.

    Changed

    • 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.
    • Version numbering has changed. From this release the template version matches the Joomla version it is built and tested against, so Vio 5.4.8 is the 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.

    Notes

    • No template file changed between 5.4.0.3 and 5.4.8 — verified by a file-by-file comparison of the shipped 5.4.0.3 package against the donor. This release is the platform refresh described above plus the restored package language file.
    • No template-parameter or database changes — the template package installs as a straight overwrite.
    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 now guards 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 Vio 5.4.0.

    The same fix is applied to the template's Bootstrap-3 layout variant (bs3-edit_address.php).

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

    July 6, 2026

    Version 5.4.0

    Compatible with: Joomla 5.1 – 5.4.x · VirtueMart 4.6.8 · PHP 8.1+ (verified on PHP 8.3) · Bootstrap 5
    First Joomla 5 native release. Vio has been rebuilt for Joomla 5.4.6 + VirtueMart 4.6.8 + PHP 8.3 + Bootstrap 5, with no carry-over of the legacy Bootstrap 2 grid, the jQuery Superfish menu init, the Dropkick currency selector, the jQuery.browser IE shim, or the Modernizr/Selectivizr/html5shiv IE polyfills that defined earlier releases. This is the first Vio release that ships with full Bootstrap 5 output, modern 13-network social parity with the current X (formerly Twitter) branding and Font Awesome 6 icons, a hardened output-escaping pass across the admin-controlled echo sites, J5-native admin form switchers throughout the Template Style fieldset, and a from-scratch mobile-responsive overhaul with a hamburger menu, single-branch-open accordion, and circular Font Awesome expand/collapse indicators.

    Added

    Bootstrap 5 + BS2 → BS5 bridge

    • Bootstrap 5 loaded from Joomla core (/media/vendor/bootstrap/css/bootstrap.min.css) — one shared instance, current security patches included.
    • Comprehensive BS2 → BS5 bridge CSS (~13 KB, loaded last in the cascade with a cachebuster) that keeps legacy VirtueMart output and custom-HTML module content rendering correctly under Bootstrap 5. Bridge covers the .row-fluid / .row / .spanN grid math, list-style resets, cart image aspect ratios, related-products / category-view image ratios, universal img[width][height] aspect-ratio defense, container width cap (matches the donor's 1170px design box), and mobile stacking.

    Font Awesome 6 with v4 shim

    • Font Awesome upgraded to 6.5.2 with the official v4-shims.min.css layer — new networks like Threads, Bluesky, and Mastodon get real brand glyphs, and existing <i class="fa fa-X"> markup keeps working via the shim.

    Modern 13-network social parity

    • Social fieldset rebuilt with the modern set: X (formerly Twitter), Facebook, Instagram, LinkedIn, YouTube, Vimeo, Pinterest, TikTok, Threads, Bluesky, Mastodon, Discord, RSS. Each has a J5-native ON/OFF switcher and a URL field.
    • Rendered social bar uses <i class="fab fa-X"> markup for FA6 brand glyphs, escapes the customer's URL via a hardened phEsc() helper, and applies rel="noopener" to every target="_blank" anchor.
    • X (formerly Twitter), Facebook, and Instagram default to visible on a fresh install so the social bar appears out of the box.

    Mobile-responsive overhaul

    • Hamburger toggle auto-injected on viewports under 768px — opens a menu drawer that reveals below the header with a dark semi-transparent backdrop so the site content stays partially visible.
    • Single-branch-open accordion — tapping a parent expands its children; tapping a sibling-parent collapses the previously open branch so only one chain is open at a time.
    • Circular chip indicators — 34 px circle with a Font Awesome fa-plus / fa-minus glyph replaces the old plain-text plus/minus. Expanded state darkens the border and text for a clear "on" read.

    Quickstart-shipped extensions

    • StageIt preinstalled — ships the same staging-clone workflow used to build this release, so customers can do their own no-risk template swaps.
    • MCP for Joomla preinstalled — API access for Claude-using customers who want to script site changes.

    Changed

    Framework and library versions

    • Joomla 5.4.6 (was 5.1.2 on the previous shipping quickstart).
    • VirtueMart 4.6.8 (was 4.2.12 on the previous shipping quickstart).
    • Bootstrap 5 (was Bootstrap 2 on the previous shipping quickstart).
    • Font Awesome 6.5.2 (was 4.7 / 5.0.1 depending on section).

    Menu and currency selector

    • Desktop dropdown menu replaced the jQuery Superfish + Supersubs plugins with a vanilla-JS hover / focus handler that maintains the same 500 ms hover-out delay for menu stability.
    • Currency selector replaced the jQuery Dropkick plugin with a native <select> element styled with an inline SVG dropdown arrow — no external JS dependency, better mobile keyboard support, and screen-reader friendly.

    Google Fonts loader

    • Legacy dynamic webfont.js Google-hosted script loader replaced with a modern direct <link> to fonts.googleapis.com/css2. Faster first paint, no extra JS execution.

    Admin Template Style form

    • 40 admin-form switchers converted from the J3-era class="switch" type="checkbox" pattern to the J5-native type="radio" layout="joomla.form.field.radio.switcher" format so the Yes/No pills render correctly in Joomla 5.

    Content and metadata

    • Copyright year bumped to 2026 across module content and article intro text.
    • Extension author + copyright rebranded to Cybersalt Consulting Ltd / VirtueMartTemplates.net.
    • templateDetails.xml version bumped to 5.4.0 (pure semver — no legacy date prefix). Description CDATA "Template Version" string synced so it matches everywhere admins see it.
    • Hot Products module default layout is now 6 across (was 5).

    Fixed

    Layout regressions from the Bootstrap 5 move

    • Welcome menu green box no longer stretches to match the slideshow column — bridge CSS adds align-items: flex-start to .row-fluid and .row so BS5 flex children stop reserving the tallest sibling's height.
    • Product cards (Featured Products, Latest Products, Top Ten Products) no longer show a giant empty column of white space below the image — blanket height: auto applied to .moduletable and every VirtueMart view container that inherited the BS2 height: 100% convention.
    • "Our Partners and Brands" module renders 3 across horizontally instead of stacked one-per-row — bridge CSS resets the standalone .spanN min-width floors that were forcing narrow flex containers to wrap.

    Login modal migration to Bootstrap 5

    • LoginForm modal converted to the Bootstrap 5 markup contract — data-bs-toggle="modal" + data-bs-target, wrapped in modal-dialog modal-dialog-centered, close button becomes btn-close. Removed the vanilla .toggle() race-condition handler that fought with BS5's own show/hide state machine.

    Image aspect ratio

    • Universal img[width][height] aspect-ratio defense in the bridge prevents VirtueMart's marketplace-pattern images (which ship with hard-coded width="X" height="Y" attributes) from stretching tall-and-narrow under BS5 flex parents. Category, featured, latest, related, single-product hero, and contact-page images all covered by the same rule.

    htaccess hygiene

    • Legacy JCH-Optimize CDN block removed from htaccess.txt — those rules pointed at our internal CDN and would have been dead config in every customer install.

    Removed

    Extinct browser shims

    • jQuery.browser IE-detect shim (extinct as of jQuery 1.9).
    • IE conditional blocks (<!--[if IE]> family — IE 6, 7, 8, 9).
    • Selectivizr, Modernizr, and html5shiv polyfill loaders.
    • Legacy IE-only stylesheet loads (ie6.css, ie.css, ie9-10.css).

    Legacy Bootstrap 2 load

    • Bundled Bootstrap 2 CSS loads removed (bootstrap.min.css, bootstrap-responsive.min.css, bootstrap-extended.css). Joomla core Bootstrap 5 handles the frontend now.

    Dead social networks

    • Retired: Google Plus, MySpace, Stumbleupon, Digg, Blogger — the fieldset no longer offers URL slots for services that no longer exist or no longer route social traffic. Field names removed from the admin form and from the front-end render loop.

    MooTools chromes

    • Deleted html/layouts/chromes/toggleModule.php and html/layouts/chromes/toggleModule2.php (J4-era layout chromes with MooTools Fx.Slide dependency).
    • Stripped modChrome_toggleModule and modChrome_toggleModule2 function definitions from html/modules.php. Kept modChrome_vmdefault and modChrome_slides (HTML-only wrappers).

    Donor-clutter templates

    • Removed horme_3, vmbeez3, and vmbasic template installs, plus a stale aeon template style row — leftover clones from earlier VirtueMart template shipping that customers never used. Cassiopeia (Joomla fallback) and Vio (main) remain.

    Broken update-server registration

    • Klarna Checkout plugin update site disabled — the vendor's update XML ships with an empty <downloadurl> placeholder that would leave a permanent red "update available" badge in the admin dashboard.

    Security

    • 131 output-escaping wraps applied to $this->params->get(...) echoes throughout index.php. Every admin-controlled parameter is now passed through phEsc() before it hits the rendered HTML.
    • $type variable fallback added to html/mod_login/default.php. Joomla 5 stopped passing the dispatcher variable through the login override, and without the fallback the front-end emitted an Undefined variable $type warning.
    • $moduleclass_sfx variable fallback added to html/mod_breadcrumbs/default.php for the same reason.
    • 104 pending template-override changes reviewed and marked-as-checked so the Home Dashboard "Overrides to check" widget renders clean instead of a stale numeric badge.

    Quickstart

    • Joomla 5.4.6 core baked in.
    • VirtueMart 4.6.8 baked in.
    • StageIt and MCP for Joomla preinstalled and enabled.
    • Modern social bar visible on the demo home page out of the box (X, Facebook, Instagram).
    • Five customer-useful Joomla post-install feature introductions left enabled: Beginner's Welcome, Action Logs, Privacy tools (GDPR), Multi-Factor Authentication, and Automated Updates. The 11 point-in-time .htaccess / text-filter / stats nag messages are disabled so the customer's first admin panel view isn't a wall of dismiss buttons.
    • Article and product hit counters reset to zero so the demo doesn't ship with our development / preview traffic baked in.

    Package

    • Standalone package: pkg_viostore-5.4.0.zip
    • Quickstart: viostore-quickstart-J5.4.0-06.07.2026.zip
    • Update server registered so customers who install the package receive future update notifications directly inside Joomla admin.
    Upgrade path. Customers running the 2024 Vio release should install the new package pkg_viostore-5.4.0.zip on top of their existing site — Joomla's installer handles the update in place. Existing Template Style parameters carry over; only the social network fieldset changes shape, and the dead-network URL fields (Google Plus, MySpace, etc.) are ignored on the new version.
    November 29, 2024

    Version 29.11.2024 5.1.2/4.2.12

    • Fixed - Minor bugs with cart
    August 15, 2024

    Version 14.08.2024 5.1.2/4.2.12

    • Upgraded - Now compatible Joomla 5
    • Upgraded - Now compatible VirtueMart 4.2.12
    • Fixed - Minor bugs
    May 7, 2024

    Version 07.05.2024 4.4.4/4.2.0

    • Fixed - Template updated to be compatible with Joomla 4.4.4
    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
    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