VM Theon

VM Business Shop Joomla Template For Virtuemart

Open a store today with the VM Business shop virtuemart template for Joomla

 
  • Change Log:
    October 23, 2026

    Version 5.4.10.5

    Installs as an update. The template manifest's opening tag read manage="upgrade", a misspelling Joomla ignores, so installing a new VM Business package over an existing one did not run as an update. It now declares method="upgrade": install the new package over the old one, with no uninstall step, and your template settings are kept.

    Security. Joomla's Newsfeeds component can turn an error into a message that contains the site's server path and a stack trace, and the template's error page printed it to any visitor. Outside debug mode the error page now shows Joomla's generic message instead, and a missing article or contact requested by its id gets the 404 page.

    Print view and pop-ups on phones. The print view, which VirtueMart also uses for its pop-up windows, had no viewport setting, so a phone showed it as a shrunken 981px desktop page. It now fits the phone screen.

    Requests for files that do not exist. 21 image references in css/camera.css, css/slideshow.css, css/template.css, css/vm-business.css, css/presets/style-error.css and css/bootstrap/bootstrap.min.css pointed at files the template does not include, and the print view linked a stylesheet (css/vm-prime.css) that does not exist. Each one was a failed request; they are gone.

    Removed. 37 template options that nothing reads: 32 slideshow settings (cam_*) and 5 drop-down animation settings (dropopacity, dropheight, dropwidth, dropspeed, dropdownhandler1); a hover border colour that read a setting the template never offered; two unused copies of the Bootstrap 2 stylesheet (css/bootstrap.css, css/bootstrap/bootstrap.css); and an unused menu override folder (html/mod_menu_).

    October 19, 2026

    Version 5.4.10.4

    Collapsible modules. Modules set to the template's toggleModule or toggleModule2 style did not open or close: the script needed MooTools, which Joomla 4 and later do not load. It is now plain JavaScript, and toggleModule2 still starts collapsed.

    Login fields on phones. The username and password fields were smaller than 16px on phones, so an iPhone zoomed the page in when one was tapped and did not zoom back out. Login, registration, profile and password-reset fields are now 16px on phones.

    Template Options screen. The icons on the template's Options screen came from Font Awesome 4.6.3 on MaxCDN, which no longer serves it, so they were missing. They now load Font Awesome 6.5.2 with its version 4 name shims from cdnjs.

    October 19, 2026

    Version 5.4.10.3

    Security. The template's menu layouts printed a menu item's note and link exactly as entered, so markup typed into a menu item's Note or Link field reached the page. Both are now escaped, as Joomla's own menu layouts do.

    Colours with transparency. A colour chosen with the colour picker's opacity slider (saved as an 8-digit colour such as #rrggbbaa) was replaced with black. Colours with transparency are now used as chosen.

    October 19, 2026

    Version 5.4.10.2

    Page language. The page had no opening <html> tag, so browsers, screen readers and search engines were not told the page's language or text direction. It now declares both from the site's language settings.

    October 16, 2026

    Version 5.4.10.1

    Store owners. The account page no longer shows an error when a store owner or vendor is logged in.

    Cart. The cart icon always shows how many items are in the cart, not only on mouse-over.

    Phones. The show-password button stays on the same line as the password field.

    Articles. The Previous and Next buttons sit at opposite ends of the article.

    Quickstart. Weblinks updated to 5.2.0.

    October 15, 2026

    Version 5.4.10

    Joomla 5.4.10. The Quickstart now installs Joomla 5.4.10 (Joomla 5.4.10 release notes), and the template version is now 5.4.10 to match.

    Error pages. "Page not found" and "access denied" pages now show inside the template, with its header, menus and footer, and fit a phone screen.

    Package. Removed a leftover backup copy of the template's main file (index.php.broken-bak).

    Category pages. The category description lines up with the products (no extra space at the sides).

    Quickstart. A fresh install no longer lists stale update notices. Includes MCP for Joomla 2.8.3.

    October 2, 2026

    Version 5.4.9.1

    Quickstart install fix. The quickstart now installs completely on MySQL databases. Before, the Joomla installer stopped part-way through on MySQL hosts; MariaDB hosts were not affected. Thanks to Iryna for reporting this.

    Quickstart. Removed leftover files from the quickstart's top folder.

    September 30, 2026

    Version 5.4.9

    Joomla 5.4.9. Updated for Joomla 5.4.9, a security and bug-fix release. The quickstart now installs Joomla 5.4.9.

    Menu layouts. Updated to current Joomla code (prepares for Joomla 6).

    September 30, 2026

    Version 5.4.8.3

    Fix for the previous update. After the security update of 28 September, pages the template shows in its "component" view stopped with a server error ("Call to undefined function phEsc()"). That view is used for print pages, pop-up windows and the VirtueMart cart and checkout steps. The helper those pages need is now included, and they work again. There are no other changes. Recommended for every site that installed the previous version.

    September 28, 2026

    Version 5.4.8.2

    Security update. Every template setting that is written into your pages is now escaped for the place it lands in (HTML, attributes, CSS and JavaScript), including the site name and slogan in image alt text, and module, menu and tab titles wherever the template prints them (module headings, title attributes and the mega menu). A setting or title containing a quote or markup can no longer break out of its place in the page. The error page escapes its message and title too. There are no visual changes. Recommended for all sites.

    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.

    Removed

    • The retired "vmbasic" template is no longer installed by the Quick Start. The previous Quick Start installed a second, retired site template called vmbasic — 45 files plus its own Extensions and Template Styles records. It is reinstated by the VirtueMart package and is not part of this product. It has been removed from the demo and from this build.
    • An internal build report was being shipped inside the template. security-sweep-3f-report.md was a note our own build tooling wrote while auditing the template's social-icon set. It had no effect on the site and was never meant to leave our build system, but it has been inside the package since 5.4.0.1. It is gone from this build.
    • A stale backup of a language file is no longer shipped. The Quick Start carried en-GB.tpl_vmbusiness.sys.ini.bak-prefix-rename-…, a leftover from a June maintenance run.

    Fixed

    • The version badge on the template's own settings screen was two years out of date. The "Template Version" badge Joomla renders on the template description read 14.08.2024 5.1.2/4.2.12 — a pre-acquisition version string — while the package was in fact 5.4.0.2. It was display text only, and it now reads 5.4.8 from the same release as the manifest.

    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 VM Business 5.4.8 is the build for Joomla 5.4.8. The previous number for this template was 5.4.0.2. Nothing about how you install or update the template changes, and Joomla still treats 5.4.8 as newer than 5.4.0.2.

    Notes

    • No template file changed between 5.4.0.2 and 5.4.8 — verified by a file-by-file comparison of the shipped 5.4.0.2 package against the donor. This release is the platform refresh and the removals described above.
    • No template-parameter or database changes — the template package installs as a straight overwrite.
    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 an earlier version.

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

    June 1, 2026

    Version 01.06.2026 5.2.0/4.6.8

    First Joomla 5 native release. VM Business has been brought forward to Joomla 5.4.6 + VirtueMart 4.6.8 (previous download: 26.09.2025 5.3.0/4.4.4). The slideshow now runs on Swiper 11 instead of the jQuery Camera plug-in; the menu, page background, currency selector and web fonts work without their old jQuery plug-ins and loaders; the template’s own copy of jQuery 1.8.1 is no longer loaded, so Joomla 5’s jQuery is used; the social links cover current networks; and template settings written into the page are escaped. VM Business keeps its own Bootstrap 2.3.2 stylesheets (css/bootstrap/) and its Bootstrap 2 layout classes, so existing module and article markup keeps its layout. It is now delivered as a Joomla package with an update server. Across the template, 8 files were modified and 17 added; none were removed (272 → 289 files).

    Added

    Swiper 11 slideshow

    • The built-in slideshow runs on Swiper 11, loaded from the jsDelivr CDN (swiper@11/swiper-bundle.min.css and swiper-bundle.min.js) only when the slideshow is switched on (cam_turnOn) and the builtin-slideshow position has modules.
    • Slides still come from the modules in the builtin-slideshow position: each module’s background image is the slide and its content is the caption. The caption keeps its camera_caption markup, so the existing caption styles still apply.
    • Slides cross-fade, loop, and advance every cam_time milliseconds (7000 if empty), and keep advancing after a visitor uses the controls. The slideshow has pagination dots and previous/next arrows. The slideshow keeps a 920:259 shape at every width (aspect-ratio).

    Modern social network support

    • Eight new social services, each with a URL field and an on/off switch: Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest, Discord (fields instagram/instagramON … discord/discordON). The Instagram, Threads, Bluesky, Mastodon, TikTok, Pinterest and Discord URL fields default to #TYPE-URL-HERE as a placeholder.
    • The Twitter link is shown as X (title “X (formerly Twitter)”, X logo); the setting is still twitter / twitterON.
    • Each of the 13 networks now shows its own icon image instead of the old social-sprite.png sprite. 13 new files in images/: x.png, facebook.png, instagram.png, threads.png, bluesky.png, mastodon.png, linkedin.png, youtube.png, tiktok.png, vimeo.png, pinterest.png, discord.png, rss.png.

    Security helpers

    • Three helper functions at the top of index.php: phEsc() (HTML escaping), phCssDim() (accepts only a number with a CSS unit such as px, em, rem or %) and phHexColor() (accepts only a hex colour). In this release phEsc() is used at 201 places and phCssDim() at one; colour settings go through phEsc(). Details under Security.

    Language files

    • en-GB.tpl_VMBusiness.ini and en-GB.tpl_VMBusiness.sys.ini: copies of the template’s language files under the capitalised name, for sites where the template is installed in a folder named VMBusiness (servers treat file names case-sensitively). See Fixed.

    Changed

    Joomla 5 platform

    • Built for Joomla 5.4.6 and VirtueMart 4.6.8.
    • templateDetails.xml version → 5.2.0, creation date 2026-06-01.
    • The template no longer outputs its own jquery-1.8.1.min.js + jquery.noConflict.js pair; it uses the jQuery that Joomla 5 loads through Jquery::framework(). jQuery itself still loads: the login form, cart panel and responsive menu panel scripts in index.php use it.
    • The page still uses the template’s Bootstrap 2.3.2 stylesheets (bootstrap.min.css, bootstrap-responsive.min.css, bootstrap-extended.css) and its Bootstrap 2 grid classes (.row-fluid, .spanN).

    Menus, background, currency selector and fonts without old jQuery plug-ins

    • Drop-down menus open on CSS hover (nav.css) instead of the Superfish/Supersubs plug-ins. The Superfish options no longer have an effect: drop-down speed (dropspeed), the opacity/height/width animation switches (dropopacity, dropheight, dropwidth) and the minimum column width (dropdownhandler1).
    • The page background image (bodybackgroundimage) is set with CSS (background-size: cover, centred, fixed) instead of jQuery Backstretch.
    • The currency selector is a plain HTML select instead of a DropKick drop-down.
    • The .closeMenu button that hides the social links is plain JavaScript instead of jQuery.
    • Open Sans is loaded with a direct Google Fonts stylesheet link (with preconnect hints and display=swap) instead of the WebFontConfig script that injected Google’s webfont.js loader.

    Slideshow settings

    • With Camera gone, the slideshow reads only the on/off switch (cam_turnOn), slide time (cam_time), minimum height (cam_minHeight), caption position and width (cam_caption_y_position, cam_caption_width) and cam_pieDiameter in the stylesheet. The other Camera settings (effects, slices, thumbnails, loader, bar, navigation and pause options) remain in Template Options but are no longer used. Camera’s thumbnail strip is replaced by Swiper’s dots.

    Template Options screen

    • The 13 social on/off settings (twitterON, facebookON, linkedinON, vimeoON, RSSON and the eight new ones) use Joomla’s native on/off switcher (radio with the switcher layout) instead of legacy class="switch" checkboxes. The other 29 checkbox settings are unchanged.
    • Fields 182 → 188 (16 added, 10 removed); fieldsets unchanged (9).
    • Language keys renamed from the template’s old name TPL_VMSHOPBUSINESS_* to TPL_VMBUSINESS_*: 55 keys in en-GB.tpl_vmbusiness.ini, 49 in en-GB.tpl_vmbusiness.sys.ini, and the 42 label and description references in templateDetails.xml.
    • The 55 Template Options labels were added to en-GB.tpl_vmbusiness.sys.ini (49 → 104 strings), the file Joomla’s Template Style screen loads.

    Stylesheets

    • The Internet Explorer conditional comments are gone from index.php. ie.css and ie6.css (before: IE 7 and IE 6 only) and ie9-10.css are now added through Joomla’s document API together with the Bootstrap 2 stylesheets and camera.css, so they load on every page. camera.css was loaded only with the slideshow before.
    • css/print.css and css/template.css no longer point at files in media/jui/, which Joomla 4 removed (media/jui references 11 → 0). See Fixed.

    Fixed

    • The Template Style screen showed raw language keys (for example TPL_VMSHOPBUSINESS_BASIC_SETTINGS_TAB) instead of field labels. The labels were only in the front-end language file, which that screen does not load, and sites whose template folder is VMBusiness found no language file at all under that name. Fixed by the .sys.ini labels and the capitalised language-file copies above.
    • “Undefined variable” warnings on Joomla 5 from two overrides: html/mod_login/default.php now defaults $type to login, and html/mod_breadcrumbs/default.php defaults $moduleclass_sfx to an empty string. Joomla 5 no longer passes these variables to the layouts.
    • Stylesheet references to files that no longer exist, which Joomla 4 removed with media/jui/: the 3 @imports of media/jui/css/bootstrap*.css in css/print.css, and in css/template.css the IcoMoon @font-face (media/jui/fonts/) and 3 Glyphicons sprite backgrounds (glyphicons-halflings.png, glyphicons-halflings-white.png).

    Removed

    Legacy scripts no longer loaded

    • jquery-1.8.1.min.js and jquery.noConflict.js (Joomla 5’s jQuery is used).
    • superfish.js and supersubs.js with their inline menu setup, and the jQuery.browser Internet Explorer detection shim that ran before them.
    • jquery.dropkick-1.0.0.js with its .dropkick() call on the currency selector.
    • jquery.backstretch.min.js with its jQuery.backstretch() call.
    • The Camera slideshow: camera.min.js, camera.js, jquery.mobile.customized.min.js, jquery.easing.1.3.js and the Camera set-up script.
    • The Internet Explorer 8 and older helpers: html5.js (html5shiv, from googlecode.com), selectivizr-min.js, modernizr.js.
    • Google’s webfont.js loader (from ajax.googleapis.com).
    • The local files remain in js/ (29 files, unchanged), but nothing loads them.

    Retired social services

    • Five social slots removed with their switches: Google+ (gplus), MySpace, StumbleUpon, Digg, Blogger.

    Security

    • Template settings written into the page are escaped with the new helpers, 99 settings in all:
      • 180 values in the inline <style> block (colours, font sizes, positions, widths, the body background image) go through phEsc(); the header height (topheight) goes through phCssDim().
      • The 13 social link hrefs.
      • The site name and slogan (H1Title, H2Title) and their images (H1Titleimage, H2Titleimage). Markup typed into the site name or slogan fields is now shown as text.
      • The slideshow image URL and the colour preset file name (choosetheme).

    Quickstart Installer

    The Quickstart is a complete Joomla 5.4.6 site with VirtueMart 4.6.8 and VM Business installed as the active template, with the demo content.

    • Bundled extensions: Joomla 5.4.6, VirtueMart 4.6.8, Akeeba Backup 10.3.4 (was 9.9.5), Weblinks 5.1.0 (was 4.3.1), Search 4.0.0.
    • VirtueMart’s demo templates horme_3 and vmbeez3 are removed (extension and template-style records and their menu references).
    • Article hit counters start at 0 (69 articles; 30,148 hits before).
    • The footer copyright year reads 2026 (was 2023).
    • 11 of the 16 post-install messages are switched off; the five left cover statistics, the action log, privacy, multi-factor authentication and automated updates.
    • The update-site list was rebuilt so none points at a dead update address: 16 sites, all enabled.
    • A clean starting state: the action log is empty and the template overrides are marked as reviewed (no “changes found” warning).

    Package format

    • Standalone template: VM Business now installs as a Joomla package (pkg_vmbusiness-5.2.0.zip, manifest pkg_vmbusiness.xml) that installs and registers the vmbusiness template. The package declares method="upgrade", so it installs over an existing VM Business, and <blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own. It names an update server (https://virtuemarttemplates.net/updates/pkg_vmbusiness.xml) for Joomla’s Update Manager. The previous download was a bare template zip.
    • Quickstart bundle: vmbusiness-quickstart-J5.4.6-01.06.2026.zip, a complete Joomla 5.4.6 install with VirtueMart 4.6.8 and VM Business pre-loaded as the active template.
    • The template folder in this package also carried two files the template never used: index.php.broken-bak (an interim copy of index.php) and security-sweep-3f-report.md (a build note).
    Version numbering: the package and template manifest are version 5.2.0. Earlier downloads used a date + Joomla/VirtueMart version string (the previous one was 26.09.2025 5.3.0/4.4.4).
    September 26, 2025

    Version 26.09.2025 5.3.0/4.4.4

    • Upgraded - Now compatible Joomla 5.3.0
    • 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 14.08.2024 5.1.2/4.2.12

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

    Version 01.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 27, 2023

    Version 26.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