VM Shop Green Virtuemart Template Changelog
- Details
- Category: Template Change Log
- Change Log:
October 31, 2026
Version 5.4.10.3
Checkout from the cart panel. The open cart panel offered only a Show Cart link. It now ends with a Check Out Now button, shown once the cart has products and kept in step when products are added without a page reload.
Added-to-cart pop-up. Continue Shopping and Show Cart showed as bare text in a box sized to them. They are now proper buttons, and on a small phone the pop-up fits the screen.
Ask a question. The question form no longer breaks its labels before the colon; on a phone the Send button and the character counter no longer overlap.
Print view and shop pop-ups in the template's colours. The print view and VirtueMart's pop-up windows loaded Bootstrap after the template's own stylesheet, so their links and buttons came out in Bootstrap blue. They now use the template's colours.
Checkout page on phones. The shipment and payment boxes ran their text against their own left edge. They now have the same inset as the rest of the page.
Phone header. Opening a phone panel (search, account, cart) no longer dims the logo and menu buttons at the top of the page. The header no longer turns see-through over the grey overlay.
Module positions. The template tested pairs of module positions (the two footer columns, the header pair) with a Joomla 3 expression that Joomla 4 and later read as a single position name, so the test always failed (3 places). Each position is now checked on its own.
Shared stylesheet. The template's Bootstrap compatibility stylesheet is updated to the current version used across our templates. Your own template settings are not changed.
Removed. 29 JavaScript and CSS files nothing loads (452 KB), among them jQuery 1.8.1, Superfish, Modernizr and old Internet Explorer stylesheets.
October 23, 2026Version 5.4.10.2
Page titles line up on phones. Titles on the home, login, password-reset and username-reminder pages now start 20px from the screen edge, in line with the text under them; an extra 12px indent had put them 32px in.
Phone menu button in the theme colour. The main menu button is now filled like the row of buttons beside it, with white bars; it was a transparent outlined square.
Removed unused files and code. The unused Bootstrap 2.2.1 stylesheet
css/bootstrap.css(nothing loaded it) is gone.index.phpno longer carries code for five custom social links that had no settings in the template options and so could never be switched on, or an empty hover-border rule for the boxed module style.October 23, 2026Version 5.4.10.1
Checkout button in the cart panel. Opening the cart now ends with a full-width Checkout button under the total, on desktop and phones; it opens the cart page, where checkout happens. Before, the panel’s only action was a “Show Cart” link above the item list.
One side inset on phones. The logo and breadcrumbs now line up 20px from the screen edge with the page content; they sat 30px in.
October 23, 2026Version 5.4.10
First Joomla 5 native release. VMShopGreen has been brought forward from its Joomla 3-era codebase to run on Joomla 5.4 / Joomla 6, VirtueMart 4.8 and PHP 8.3. The template’s overrides keep their established Bootstrap 2 class names —.spanN,.row-fluidand the rest — and render against Joomla’s bundled Bootstrap 5 through a compatibility stylesheet shipped with the template. That is a deliberate choice: it preserves every layout and override you may already have customised, instead of forcing a rewrite of your markup. Across the template, 265 removed Joomla 3 static API calls have gone to zero, the bundled Bootstrap 2 stylesheet stack is no longer shipped, the error page no longer fails, the phone layout has been rebuilt, the desktop frame widens to 1170 px on large screens, and the built-in slideshow is now on by default.Added
Bootstrap 5 rendering through a compatibility stylesheet
css/bs2-bs5-bridge.css— a new stylesheet that translates the template’s Bootstrap 2 grid, form, button, navigation, tab, pagination and alert conventions onto Joomla’s bundled Bootstrap 5.index.phpnow loads/media/vendor/bootstrap/css/bootstrap.min.css(andbootstrap.rtl.min.csson right-to-left sites) instead of the template’s own Bootstrap 2 copy, and the bridge is linked immediately before</head>, last in the cascade, so it wins over the template’s own stylesheets.css/bs2-donor-base.css— VMShopGreen’s original Bootstrap 2 form sizing, label columns and base typography, kept as a separate file and loaded straight after the Bootstrap 5 core, so the established look — including the horizontal login form with its labels on the left and the VirtueMart form field sizes — survives on the new foundation.- Bootstrap 5
data-bs-*attributes now appear where Bootstrap 5 components are used (7 → 15), alongside the legacy attributes the bridge still understands.
Rebuilt phone layout
js/cs-mobile-generic.js— a vanilla-JavaScript phone layer with a slide-in menu drawer, a search panel and a toolbar row of 44 px touch controls for the account and the cart. The cart control shows its item count; the cart and account panels close with a tap outside them; the header gains a scrolled state as the page moves. The phone header reserves no empty band above the page, the search panel shows a single submit button, and the menu button always contrasts with the bar behind it.- A second phone menu button for the shop. A new hidden module position,
cs-secondary, is declared intemplateDetails.xml, and whatever menu module you place there opens from the second button instead of repeating the main menu. A new layout for the VirtueMart category module,html/mod_virtuemart_category/csmenu.php, lists the shop categories with a “+” on each to open its subcategories. - On phones the page has no side gutter: the content bands, promo cards and footer modules run edge to edge with square corners, like the header.
Show / hide on password fields
js/cs-password-eyeball.js— login, registration and account-maintenance password fields gain an eye control to reveal what has been typed.
Colour pickers on every colour setting
fields/colorpicker.php,css/coloris.min.cssandjs/coloris.min.js— all 78 colour options in the template Options rendered as plain text boxes on Joomla 5, because the oldjscolorlibrary they relied on never loaded, so a colour could only be changed by typing its hex code. Each now opens a real picker with a live swatch. The picker ships with the template, nothing is fetched from an outside site, and existing values carry over untouched.fields/adminui.php— supporting field type for the Options screen. It declares the jQuery dependency the older Options scripts rely on, and makes the template’s Details panel follow Joomla’s dark administrator theme instead of a hardcoded light treatment of grey text with a white shadow.
Favicon tool
fields/favicontool.phpand a new Favicon tab (faviconsettingsfieldset, fieldsfavicon,faviconspacer,favicontool) — choose an image from the Media Manager and the template generates the site’s browser-tab icon from it. 10 newTPL_VMSHOPGREEN_FAVICON*language strings (72 → 82). With thanks to Gianluca, whose favicon question inspired this tool.
Modern social networks
- Instagram, Threads, Bluesky, Mastodon, TikTok, YouTube, Pinterest and Discord added to the social settings, each with its own on/off switch and URL field.
- The Twitter link is shown as X; the stored
twitterfield key is unchanged, so your existing link carries over. - The social links render Font Awesome 6 brand icons.
Supporting scripts
js/cs-jq-compat.js— a small shim restoring the jQuery 1.x conventions that the template’s bundled slideshow and other older libraries still call, so they keep working on the jQuery 3 that Joomla ships.
Changed
Joomla 3 → Joomla 5 API migration
- 265 removed Joomla 3 static API calls reduced to zero across the template’s PHP files —
JFactory,JText,JHtml,JErrorand the rest, each replaced with its namespacedJoomla\CMS\*equivalent. These aliases exist only while the Behaviour – Backward Compatibility plugin is enabled, and not at all in Joomla 6. The largest werehtml/com_virtuemart/cart/default_pricelist.php(22),html/mod_login/default.php(20),html/com_virtuemart/productdetails/default.php(17),html/com_virtuemart/productdetails/x_default.php(17) andhtml/com_virtuemart/user/login.php(14). - The legacy
behavior.formvalidationcall in the VirtueMart login override — removed in Joomla 5, and fatal when reached — is replaced with the currentbehavior.formvalidator. - 65 files were modified, 53 of the 77 PHP overrides among them, concentrated in
html/com_virtuemart/user(14),html/com_virtuemart/productdetails(7),html/mod_menu(4), and the ask-a-question, cart, shop front page, content category, login and VirtueMart module overrides.
Desktop frame, logo link and slideshow
- Wider page. On screens 1200 px and wider the page now runs in a 1170 px frame; it was a fixed 960 px. The narrower desktop, tablet and phone widths are unchanged, and no width from 1400 down to 320 px scrolls sideways.
- The site name / logo links to the home page. The template’s “logo linked” option (
logoLinked) defaulted to off, so a fresh install showed an unlinked site name; its default intemplateDetails.xmlis now on. - The built-in slideshow is on by default, with autoplay.
cam_turnOn,cam_autoAdvanceandcam_mobileAutoAdvancenow default to on, so the slideshow shows and advances on desktop and on phones. - The slideshow’s minimum height (
cam_minHeight) now defaults to0pxinstead of200px. On phones the whole banner scales down instead of being cropped to its middle.
Menus, scripts and fonts without the old jQuery plugins
- Drop-down menus no longer depend on the Superfish / Supersubs jQuery plugins. The four Superfish animation options (drop-down opacity, height, width and speed) went with them.
- The template no longer loads its own copy of jQuery 1.8.1, which was printed from inside a PHP string in
index.php; it uses the jQuery that Joomla ships. - Google Fonts no longer wait for the
WebFontConfigJavaScript loader, which fetchedwebfont.jsfrom Google before any font could load (1 → 0).
Error page, print view and pop-up windows
error.phpuses the namespaced Joomla API. A “page not found” now renders as the template’s own error page with a real 404 status, on desktop and on phones.component.php— the print view, which VirtueMart also uses for its “ask a question” and similar pop-up windows — together witherror.phpandoffline.php, now loads the same Bootstrap 5 core and compatibility stylesheet as the main layout. These views were still running the original pre-Joomla-5 head; their IE conditional blocks and legacy Bootstrap links are gone.
Template Options screen
- 39 legacy checkbox switches (
class="switch" type="checkbox") are replaced by Joomla 5’s native on/off switcher. - The Options screen’s icon font was loaded from MaxCDN, which has shut down, so its icons failed on every load; it now uses Font Awesome 6 with the v4 shims, so the icons the panel already uses keep working.
- Fields 179 → 183 and fieldsets 9 → 10, after the additions and retirements listed in this entry.
Stylesheets, icons and layout
- Template stylesheets are now requested with a version marker, so a style change after an update reaches visitors immediately instead of waiting for them to clear a cached copy.
- The front end now loads Font Awesome 6.5.2 with the v4 shims (
all.min.css,v4-shims.min.css). - The desktop header cart shows a count badge on the cart glyph, beside the “Cart empty” / “1 product” label.
- The shop category description no longer carries an extra 20 px side indent, so it lines up with the products below it.
Version
templateDetails.xml<version>moves from the date-and-compatibility string22.09.2025 5.3.0/4.4.4to5.4.10, matching the Joomla release it is built on. The<creationDate>(now2026-10-23) and the version badge in the manifest description carry the same release, so the version shown in the administrator matches the download page.<authorUrl>now useshttps://, and<copyright>is a proper copyright line instead of a bare URL.
Fixed
Pages that returned a server error
- Every “page not found” was served as a 500.
error.phpcalledJError::raiseWarning()andJText, which Joomla 5 no longer provides, so it failed — and Joomla cannot render any error page when the error template itself fails. It now raises a proper\Exceptionwith the status code. - A missing article or contact requested by its id answered 500 instead of the 404 page, because Joomla’s Schema.org plugin reloaded the missing item while the error page was being built. The error page now clears the item id along with the menu item id, so these requests get the 404 page.
Shop
- Product-card option boxes were cut off. On the home page product modules (Latest, Featured and Random Products) the add-to-cart form was pinned to 128 px by
vm-green.css, so a size or format select left 94 px for its text and cut options such as “DVD No additional charge”. The form and its select now fill the card on desktop and phones, while the quantity and Add to Cart row keeps its centred 128 px box. - Blank buttons on the cart page. The cart’s update-quantity and remove controls drew their icons from
media/jui/img/glyphicons-halflings.png, which Joomla 4 removed, so they showed as empty boxes and the cart page logged a failed request. They now show Font Awesome 6 glyphs in the table’s own readable text colour.
Requests for files that do not exist
- Three dead
@importrules incss/print.css—media/jui/css/bootstrap.min.css,bootstrap-responsive.min.cssandbootstrap-extended.css, from a folder Joomla 4 deleted. Browsers fetch print stylesheets and their imports on every page, so each returned a “page not found” on every page load. - Stylesheet links to files that are no longer part of the template were removed; each returned the site’s “page not found” response and a browser warning.
- The jscolor
<script>tag in the manifest description pointed atutils/js_colourchanger/and failed on every Options load; it is gone.
Maintenance pass
With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.- IcoMoon icon font 404s. An
@font-facerule pointed atmedia/jui/fonts/, a location Joomla 4 removed, so the font failed on every page load and the search icon showed a stray character. The rule is disabled and the search icon uses the bundled icon set. - Pagination arrows rendered as empty squares. Joomla 4 and later emit
.icon-angle-left,-right,-double-leftand-double-right, which the legacy icon stylesheet did not define. They are now mapped to real glyphs. - Featured articles clipped to their title. A single-column featured view combined with
blog.cssoverflow handling cut tall intro articles off; the featured list and its items now size to their content. - The search button detached from its input. A global button margin separated the search button from its field; the margin is now cleared inside search and finder modules.
PHP 8 and form validation
With thanks to Zoltán Szász, whose report led to the form-validation fix described under Joomla 3 → Joomla 5 API migration above and to the address-form fix below.- The checkout address form could stop with a PHP 8 error.
html/com_virtuemart/user/bs3-edit_address.phpguarded its user-field block withcount(…) > 0, which throws a fatalTypeErroron PHP 8 when there are no user-field functions; it now uses!empty(), asedit_address.phpalready did.
Removed
Legacy stylesheets no longer shipped or loaded
- The entire bundled Bootstrap 2 stylesheet stack in
css/bootstrap/:bootstrap.css,bootstrap.min.css,bootstrap-responsive.css,bootstrap-responsive.min.css,bootstrap-extended.css,bootstrap-rtl.cssandbootstrap-tooltip-extended.css. Joomla’s own Bootstrap 5 is used instead. - The Internet Explorer conditional stylesheets
ie.css,ie6.cssandie9-10.cssare no longer loaded.
Legacy scripts no longer loaded
superfish.jsandsupersubs.js(drop-down menus),jquery.backstretch.min.js(backgrounds),jquery.dropkick-1.0.0.js(select boxes),jquery.mobile.customized.min.js(slideshow touch support),jquery-1.8.1.min.jsandjquery.noConflict.js, the IE helpershtml5.js,modernizr.jsandselectivizr-min.js, and Google’swebfont.jsare no longer loaded by the template. No file was removed fromjs/: any of these that lived there is still there for custom code that references it.
Files removed
html/modules.php— the Joomla 3modChrome_*function file. Joomla 4 and later read module chromes only fromhtml/layouts/chromes/.html/layouts/chromes/toggleModule.phpandtoggleModule2.php— two module chromes built on MooToolsaddEvent, which Joomla 4 and later no longer ship (MooTools calls 4 → 0).html/com_virtuemart/user_/— a parked, unused copy of the VirtueMart account overrides (21 files). Joomla never read it; the live overrides inhtml/com_virtuemart/user/remain.utils/admin-js.jsand the old colour-picker folderutils/js_colourchanger/(jscolor.jsand its four images), superseded by the current field types.- In total the shipped tree moves from 288 files to 263: 12 added, 37 removed, 65 modified.
Retired options
- Social slots for Google+, StumbleUpon, Digg, Blogger and MySpace, services that have closed or no longer offer profile links (
gplus,stumbleupon,digg,blogger,myspaceand their switches). - The four Superfish drop-down animation options (
dropopacity,dropheight,dropwidth,dropspeed), plusdropdownhandler1andcolours_handlers.
Security
- Server paths no longer disclosed on error pages. Joomla’s own Newsfeeds component can turn a caught exception into a message that contains the site’s absolute filesystem path and a full stack trace, and the error page printed it to any visitor. Outside debug mode,
error.phpnow replaces any such message with Joomla’s generic “An error has occurred” and keeps the status code. - Template parameters are escaped or validated before they reach the page. New helpers in
index.phpdo the work:phEsc()(HTML attributes),phHexColor()(colours),phCssDim(),phCssNum(),phCssFont(),phCssToken(),phCssSelector()andphCssUrl()(values written into CSS), andphJsStr()/phJsLit()(values written into scripts) — 292 calls in all.htmlspecialcharsand equivalent escaping calls across the template rise from 39 to 79. - The rich-text title fields (
H1Title,H2Title) go throughphRichText(), Joomla’s input filter in HTML mode, which stripsscript,styleandiframeelements andon*event handlers while keeping the markup these fields are documented to accept.
Quickstart
- Bundles Joomla 5.4.10 and VirtueMart 4.8.4.
- The built-in slideshow is switched on, with autoplay on desktop and phones.
- A new “Store Categories (phone second hamburger)” module in the
cs-secondaryposition, so the second phone menu button opens Automotive & Industrial, Clothes & Shoes, Electronics & Computers and Movies & Books, each with its subcategories. - Three unrelated Joomla templates that arrived with the original sample data —
horme_3,vmbeez3andvmbasic— are no longer part of the quickstart. None was the site default or assigned to any menu item, and two of them carried error pages built on the removed Joomla 3 class aliases, so activating either would have produced a 500 in place of an error page. Three leftover template styles for templates not included with this product (aeon, vmbusiness, vmshopblue) are gone too. - The dead VirtueMart 3 Klarna and Klarna Checkout payment plugins, which VirtueMart 4 no longer ships, are removed.
- The Joomla 5.4 “What’s New” guided tour no longer launches itself on the first administrator visit, where it sent every administrator link to the dashboard. It remains available from the administrator.
- Only five post-installation messages remain enabled, so a new administrator is not met with a backlog of legacy notices.
- Dead and duplicate update sites are disabled: the retired FOF 3.x site on Akeeba’s old CDN, the Klarna Checkout site whose download link was a placeholder, and a duplicate VirtueMart update site that listed the same item twice in the Update Manager. Two update-site addresses that began with a line break and spaces are cleaned.
Package
- Installs as an upgrade over an existing copy. The template manifest’s opening tag read
mange="update", a misspelling Joomla ignores, so it never declared an upgrade install. It now carriesmethod="upgrade": no uninstall-first step, and your template settings are preserved. - Supplied as a standalone template package and as a quickstart; the Joomla 3 and Joomla 4 downloads remain available but are no longer recommended for new projects.
September 22, 2025Version 22.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, 2024Version 29.11.2024 5.1.2/4.2.12
- Fixed - Minor bugs with cart
August 15, 2024Version 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, 2023Version 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, 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 27, 2023Version 26.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
