Skip to main content

68 templates now rebuilt for Joomla 5 + VirtueMart 4 on Bootstrap 5. See what changed

  • Change Log:
    • Release Date: 2026-10-29, Version: 5.4.10, Notes:
      First Joomla 5 native release. Liquid has been rebuilt for Joomla 5.4.10 + VirtueMart 4.8.4 + PHP 8.3 + Bootstrap 5 + vanilla JavaScript. The Bootstrap 2 framework, the Joomla 3 class aliases, MooTools and the jQuery plugin stack the previous release depended on are gone, and the home-page slideshow has been rebuilt on Swiper. Measured against the previous download (18.08.2025, Joomla 5.3.0 / VirtueMart 4.4.4): 48 files removed, 14 added and 61 modified, with 180 Joomla 3 static calls reduced to 0, 200 output-escaping helper calls added, and the js/ folder down from 29 files to 11.

      Added

      Template Options — colour pickers and a Favicon tool

      • All 82 colour settings now use a real colour picker with a live swatch. On Joomla 5 every one of them rendered as an empty text box, so changing a colour meant knowing its hex code and typing it correctly. The donor bootstrapped the Joomla 3-era jscolor library from a <script> buried in a settings field's label attribute, which never ran under Joomla 5; it has been retired for a self-contained picker that ships with the template, so nothing is fetched from an outside site.
      • New Favicon tab. Upload or pick an image and the template crops it and generates the icon set for you, rather than leaving you to produce an .ico by hand. With thanks to Gianluca, whose favicon question inspired this tool.
      • The template's Details panel now follows whichever admin theme you have selected, instead of a hardcoded light treatment — grey text with a white shadow — that was legible on Joomla's dark admin only by accident.

      Modern social networks

      • The social set has been brought to 13 networks: X (formerly Twitter), Facebook, Instagram, Threads, Bluesky, Mastodon, LinkedIn, YouTube, TikTok, Vimeo, Pinterest, Discord and RSS — eight of them new. Every link now carries target="_blank" and rel="noopener", and the icons are drawn from the current icon set rather than the old image sprite.

      Convenience

      • Show/hide control on every password field. Login, registration and account forms now have an eye icon to reveal what you have typed.
      • The site name / logo links to the home page by default in a fresh standalone install. It previously shipped unlinked.
      • A Checkout button in the cart drop-down. Opening the cart from the header previously offered only a "Show Cart" text link, with no visible way to check out. It now ends with a Checkout button, which appears once the cart holds products.

      Changed

      Joomla 3 → Joomla 5 API migration

      • 180 Joomla 3 static calls removed, template-wide — now 0. JError, JText, JFactory, JHtml, JRoute, JUri, JModuleHelper, JRegistry, JDocumentHTML and the rest are gone in favour of the namespaced Joomla 4+ API, across index.php, component.php, error.php and 52 of the 75 html/ overrides. These aliases exist only while the Behaviour - Backward Compatibility plugin is enabled. The heaviest files were the VirtueMart login override (20 calls), the product-details view (16) and the account forms.
      • Error pages work again. error.php used the removed aliases, and when error.php fatals Joomla cannot render any error page — every 404 was served as a 500, with the real error never shown.
      • The legacy form validator is gone. The VirtueMart login override called Joomla 3's behavior.formvalidation, removed in Joomla 5, which fataled with behavior::formvalidation not found. It now uses the Joomla 5 behavior.formvalidator. With thanks to Zoltán Szász, whose report led to this fix across our templates.
      • Two footer layout tests that could never be true have been repaired. The template asked Joomla whether two module positions were both in use by passing them as a single phrase; Joomla 4 and later read that as one position name, which never matches, so the two-column footer it controls could never be chosen.

      The home-page slideshow is now Swiper

      • The slideshow has been rebuilt on Swiper 11, replacing the jQuery-era camera.js engine and the three jQuery plugins it depended on. Slides are now standard Swiper markup with the image as a CSS background, driven by a real Swiper instance.
      • Swiper ships with the template rather than being fetched from a content network, so a shipped template no longer depends on an outside host at render time.
      • Your existing slideshow settings still apply. Transition speed, auto-advance and its delay, pause-on-click, the pagination dots and the prev/next arrows are all read from the settings you already had, so a configured slideshow keeps its behaviour.
      • Twelve slideshow settings remain; twenty-six that only the old engine could honour have been removed — the sliced-transition grids, the thumbnail strip, the loader colours and pie, and the portrait options among them. They would otherwise have sat in the Options screen doing nothing.

      Bootstrap 5 rendering

      • The template renders on Bootstrap 5, with a compatibility layer translating the donor's Bootstrap 2 grid rather than shipping the BS2 framework itself. The BS2 grid classes fell from 737 to 507, row-fluid from 559 to 294, input-append/input-prepend from 380 to 79 and pull-left/pull-right from 92 to 6 as the BS2 stylesheets were retired.
      • The login dialog is a native Bootstrap 5 modal, replacing the Bootstrap 2 markup and the JavaScript that used to force it open and shut.
      • Style changes reach visitors immediately after an update. The stylesheets were served without a version marker, so browsers kept showing the cached copy until the visitor cleared their cache by hand.
      • The print view, the pop-up windows and the error page use the same foundation as the rest of the template. Every earlier round of this work had only ever touched the main page layout, so component.php — which is what VirtueMart uses for "ask a question" and similar pop-ups — and error.php still carried the original pre-Joomla-5 stylesheet stack.

      Template settings

      • The Joomla 3-era on/off switches are gone — 39 of them — and the settings that remain render as Joomla 5 native switchers, so they read and save correctly. In all, 105 settings changed field type and the manifest went from 183 settings to 161.
      • Web fonts are now requested with a direct stylesheet link and display=swap instead of the old JavaScript font loader, and Font Awesome has moved to version 6 with the v4 compatibility shim. The previous Font Awesome link was also malformed — a stray full stop before rel — so the browser refused it outright.
      • Ten new language strings cover the Favicon tool and its tab, taking the template's own strings from 72 to 82.

      Fixed

      Store pages

      • A PHP 8 fatal error on the cart's "Bill To / Ship To" address edit page — count(): Argument #1 ($value) must be of type Countable|array, null given, inherited from a legacy VirtueMart core view. With thanks to Zoltán Szász, who reported it.
      • The registration and account forms no longer draw a line above and below every row, which read as very busy on a phone.
      • The "Add to Cart" confirmation fits its box, with its buttons styled and legible rather than rendering as bare text, and it no longer overflows at narrow widths.
      • A product with no price no longer sits a line short. VirtueMart renders the price block empty when a product is call-for-price, so those tiles were 51px shorter than the rest of the row and the grid sat unevenly.
      • The "Ask a question" form fits its own pop-up. Its table was wider than the box that holds it, which squeezed the label column until "Name :" broke across two lines.
      • The checkout's shipment and payment boxes have room around their text instead of running up to the panel edge.
      • The product page's print and e-mail icons sat over the header, next to the phone number, instead of beside the product.
      • Product thumbnails are no longer upscaled past their natural size.

      Login, registration and the account area

      • The login dialog's fields were 21px tall, with the Password label sitting inline beside a half-width box. They are now full-size and aligned.
      • The login dialog no longer scrolls inside itself at desktop width — a leftover Joomla 3 height cap on the dialog body was shorter than the form it held.
      • The password reset and login pages showed a blank page instead of the form. Pages without their own menu item borrowed the home page's template style, which hides the main content.
      • The login page showed two password-reveal buttons.
      • Login and registration fields are at least 16px, so iOS no longer zooms in when you tap one and refuses to zoom back out.

      Header, menu and slideshow

      • The top bar is in the right order again — account links, then the quick links, with the currency selector at the right — and its height is correct. The modernization had replaced the original floats with a layout that reversed them.
      • The "Cart empty" button had shrunk to a 32×32 square and lost its label.
      • Hovering a sidebar category no longer makes the modules below it jump. The category menu grew by 2px on hover at every width, because the hover border was not absorbed by an auto-height row — and that border was the same colour as the fill behind it, so it had never been visible. On tablet widths it also shifted a further 15px, where the extra hover indent narrowed the label enough to wrap it onto a second line.
      • The slideshow caption, its height and its pager match the design again — a bold uppercase title in the right place rather than a thin one near the top, the price band styled, and white rings for the pager instead of small plain dots.
      • Module headings regained the space above them.
      • Containers no longer run to the full screen width on tablets — the header bars and the slideshow stretched edge to edge between 768px and 1199px where they should sit in the page's column.

      Phone and tablet

      • The text logo no longer runs underneath the menu button.
      • A 136px empty band below the header is gone — the old menu block was still reserving space on phones even though the slide-out drawer replaces it.
      • The top bar no longer keeps its full desktop height on phones, where it holds only the currency selector.
      • The currency selector is a proper control rather than a 179px native drop-down.
      • The cart chip in the phone toolbar shows a cart icon instead of an empty coloured square.
      • The menu button lines up with the logo beside it at every phone width. Its correct position shifts with the screen width, so a fixed offset could not do it.
      • Slider headings no longer run underneath the pager squares at narrow widths; a longer title now wraps instead of sliding under them.
      • Opening a phone panel no longer dims the logo and menu button at the top of the page.

      Admin and housekeeping

      • A JavaScript error on the Options screen (jQuery is not defined), after Joomla's own colour field stopped pulling in jQuery as a side effect. The template now declares that dependency itself.
      • The Options screen loaded its icon font from a content network that has shut down, so its icons failed to draw.
      • Joomla 5.4's "What's New" tour took over the first admin visit on a fresh install, sending every administrator link to the dashboard. The tour still works — it no longer starts by itself.
      • Stylesheet links pointing at files no longer in the template have been removed. Each returned the site's "page not found" response on every single page load, including dead @import rules inside the print stylesheet, which browsers fetch even though the stylesheet is marked for print.
      • The icon font behind the search control and the pagination arrows is self-contained. The template's stylesheet pointed at a font folder Joomla 4 removed, so the search icon rendered as a stray character and the pagination arrows as empty squares. The search button also sat detached from its input. With thanks to Michael Mullan, whose bug report led to this maintenance pass across our templates.
      • A tall single-column featured article is no longer clipped to its title on the featured-articles view.
      • Headings that contain markup render as intended again. Output escaping was applied to the rich-text title settings, so markup in them printed as literal text.
      • Four dead template settings have been removed. Two were read by the template's stylesheet but never declared in its settings file, so they were always empty and the three style rules that depended on them could never do anything; those rules are gone too. The other two were the slideshow loader's colours — they appeared in the Options screen as colour pickers but nothing read them, since the loading spinner belonged to the old slideshow engine.
      • A module style with a PHP parse error has been repaired. Any module assigned that style produced a blank page. No demo used it, which is why it went unnoticed — the exposure was to customers who assign it themselves.

      Removed

      Legacy frameworks and dead code

      • The Bootstrap 2 framework — eight stylesheets and its JavaScript — which nothing loaded.
      • The js/ folder is down from 29 files to 11. Gone are jQuery 1.8.1, Superfish and Supersubs (the drop-down menus are now driven by the template's own vanilla JavaScript), Backstretch, DropKick, Modernizr, Selectivizr, Owl Carousel, Slick, NiceScroll, iScroll, imgSizer, flexibility, selectric, plusanchor, equalHeights, scrollReveal, the cookie-law pop-up and the jQuery Mobile build, along with camera.js and its two companions now that the slideshow runs on Swiper. Nothing in the template referenced them; they were simply still in the download.
      • The Internet Explorer stylesheets themselves — ie.css, ie6.css and ie9-10.css — which had stayed in the package after the conditional blocks that loaded them were removed.
      • An orphaned slideshow stylesheet, left behind when the hero's styling moved into the compatibility layer.
      • The last MooTools event handlers, a framework Joomla itself dropped years ago, and the two module styles that used them.
      • The Internet Explorer 6, 7, 8 and 9 conditional blocks and the three polyfills and three stylesheets they loaded.
      • The old admin colour-changer library and its four image assets, replaced by the colour picker above.
      • A development report file that was being included in the download.

      Retired services

      • Google+, StumbleUpon, Digg, Blogger and MySpace — all five services are discontinued.

      Security

      • 200 output-escaping helper calls added across the template and its overrides, taking the direct escaping calls from 39 to 78 as well, so every template setting echoed into the page is escaped on the way out. Rich-text settings are filtered through Joomla's InputFilter in HTML mode, which still strips script, style, iframe and on* handlers.
      • The download no longer carries jQuery 1.8.1 or the other unused libraries listed above. None of them was loaded, but a package should not ship a 2012 copy of a library at all.
      • The error page no longer leaks the server path of the file that raised the error.
      • Nothing is loaded from a third-party host at render time: the icon set, the colour picker and the slideshow engine all ship with the template.

      Quickstart Installer

      • Bundles Joomla 5.4.10 and VirtueMart 4.8.4.
      • Three third-party VirtueMart demo templates removed — none is part of this product, and they carried broken error pages of their own, so activating one returned a 500 instead of an error page.
      • A dead VirtueMart 3 payment plugin has been removed. VirtueMart 4 no longer ships it, and its update feed advertised a version that could never be downloaded, so the site showed a pending update that could not be satisfied by any route.
      • A leftover template style pointing at a template that is not part of this product has been removed, along with a stray working copy of the template itself. Selecting that style would have broken the site's appearance.
      • Four dead or duplicate update feeds are switched off, so Joomla's update check no longer probes addresses that cannot answer.
      • Redirects, leftover override records and the administrator action log are emptied before the bundle is made, article hit counters are reset, and the post-installation messages no longer greet a new site with a backlog of sixteen notices.

      Package format

      • method="upgrade" is declared, so existing customers can install over the top without uninstalling first.
      • The version and release date are stated consistently in the manifest, the Options screen and the template's own header comment.
      • Dead settings that no code reads, parked override folders and editor backup files are all excluded from the shipped package.
      Earlier history (pre-5.4.10). Liquid originated as a Joomla 3 / VirtueMart 2-era template. The previous download (18.08.2025, Joomla 5.3.0 / VirtueMart 4.4.4) carried the Bootstrap 2 framework and the Joomla 3 class aliases throughout, and ran its slideshow on camera.js; this release is the first with none of them.
    • Release Date: 2025-08-18, Version: 18.08.2025 5.3.0/4.4.4, Notes:
      • Upgraded - Now compatible Joomla 5
      • Upgraded - Now compatible Virtuemart 4.4.4
      • Fixed - Minor bugs
    • Release Date: 2024-11-29, Version: 29.11.2024 5.1.2/4.2.12, Notes:
      • Fixed - Minor bugs with cart
    • Release Date: 2024-08-15, Version: 14.08.2024 5.1.2/4.2.12, Notes:
      • Upgraded - Now compatible Joomla 5
      • Upgraded - Now compatible VirtueMart 4.2.12
      • Fixed - Minor bugs
    • Release Date: 2024-01-18, Version: 18.01.2024 4.3.4/4.2.0, Notes:
      • Fixed - minor bugs
    • Release Date: 2023-06-30, Version: 26.06.2023 4.3.0/4.0.13, Notes:
      • Fixed - VirtueMart Products Module bug
      • Fixed - Double ReCaptcha on VirtueMart Registration page
      • Fixed - Template toggle button not displaying
    • Release Date: 2023-06-23, Version: 16.06.2023 4.3.0/4.0.13, Notes:
      • Fixed - Menu Params error for adding in image on menu
    • Release Date: 2023-05-20, Version: 20.05.2023 4.3.0/4.0.12, Notes:
      • Fixed - Template updated to be compatible with Joomla 4.3
    • Release Date: 2022-09-09, Version: 09.09.2022 3.10.11/4.0.6, Notes:
      • Fixed - Joomla 3.10.11
      • Fixed - Template updated for PHP 8.0