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-31, Version: 5.4.10.2, Notes:

      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.

      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.

      Phone headings. On the contact page and articles the page heading started 32px in on a phone (two paddings stacked); it now lines up with the text at 20px.

      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.

      Cart count badge. The number in the red cart badge sat 4px above the middle of its circle on desktop; it is now centred.

      Module positions. The template tested pairs of module positions (the two footer columns, positions 3 and 4) with a Joomla 3 expression that Joomla 4 and later read as a single position name, so the test always failed (5 places). Each position is now checked on its own.

      Defaults for a fresh install. The site name / logo now links to the home page and the slideshow is switched on with autoplay on desktop and phones (logoLinked, cam_turnOn, cam_autoAdvance, cam_mobileAutoAdvance default to on). Existing sites keep their saved settings.

      Quickstart. Guests can now use Ask a question without logging in first, and the demo's Contact Us and Special Offers menu items, which pointed nowhere, now open the contact page and the shop.

      Removed. 19 JavaScript and CSS files nothing loads (281 KB), among them jQuery 1.8.1, Superfish, Modernizr and old Internet Explorer stylesheets; template code that read three settings the template never offered (a background image and two others); an unused menu override folder (html/mod_menu_).

    • Release Date: 2026-10-23, Version: 5.4.10.1, Notes:

      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.

    • Release Date: 2026-10-23, Version: 5.4.10, Notes:
      First Joomla 5 native release. Armada has been brought forward from its Joomla 3-era codebase to run on Joomla 5.4, VirtueMart 4.8 and PHP 8.3. The template’s own markup keeps its established Bootstrap 2 class names — .spanN, .row-fluid and the rest — and renders 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, 271 removed Joomla 3 static API calls have gone to zero, the Bootstrap 2 stylesheet stack is no longer shipped, and the phone layout has been rebuilt.

      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, pagination and modal conventions onto Joomla’s bundled Bootstrap 5. index.php now loads /media/vendor/bootstrap/css/bootstrap.min.css (and bootstrap.rtl.min.css on right-to-left sites) rather than carrying its own copy of Bootstrap.
      • css/bs2-donor-base.css — the template’s original Bootstrap 2 form sizing, label columns, typography, blockquote and code-block rules, kept as a separate file so the established look survives on the Bootstrap 5 foundation.
      • Bootstrap 5 data attributes now appear in rendered output where Joomla and VirtueMart emit them (data-bs-* references 7 → 16), 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 second drawer for the shop categories, and a toolbar carrying search, account, registration, social and cart controls.
      • The shop-category drawer is driven by a dedicated module position, so the second menu button opens the store categories rather than repeating the main menu.
      • Phone tab strips show their real labels rather than index numbers, and long labels wrap on whole words instead of splitting mid-word.
      • The cart control shows an item count on phones, and reads Items: 0 without reserving an empty panel when the cart is empty.

      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. The control sits inside the field row and follows the template’s accent colour.

      Colour pickers on every colour setting

      • fields/colorpicker.php, css/coloris.min.css and js/coloris.min.js — the template’s colour options were plain text boxes that required a hex code to be typed in. Each now opens a real picker with a live swatch, an alpha slider and keyboard support. Existing values carry over untouched.
      • fields/adminui.php — supporting field type for the template Options screen.

      Favicon tool

      • fields/favicontool.php — a Favicon tab in the template Options with media selection and a crop tool, so a site icon can be set without editing files. With thanks to Gianluca, whose favicon question inspired this tool.

      Supporting scripts

      • js/cs-parallax.js — the parallax background behaviour, rewritten without the retired jQuery plugin it previously depended on, leaving CSS-driven fixed backgrounds to CSS.
      • js/cs-jq-compat.js — a small shim covering jQuery conventions that third-party extensions on the page still expect.

      Changed

      Joomla 3 → Joomla 5 API migration

      • 271 removed Joomla 3 static API calls reduced to zero across the template’s 101 PHP files — JFactory, JText, JHtml, JError, JRequest, JRoute, JURI, JFile, JFolder, JDispatcher and the rest, each replaced with its namespaced Joomla\CMS\* equivalent. These aliases exist only while the Behaviour – Backward Compatibility plugin is enabled.
      • The legacy behavior.formvalidation call in the VirtueMart login override — removed in Joomla 5, and fatal when reached — is replaced with the current behavior.formvalidator.
      • 74 files were modified across the override tree, concentrated in html/com_virtuemart/user (14), html/layouts/chromes (7), html/com_virtuemart/productdetails (6), html/mod_menu (4), and the content, cart, category, sublayout and module-override folders.

      Stylesheets and scripts

      • 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 by hand.
      • The print view — which VirtueMart also uses for its “ask a question” and similar pop-up windows — and the error page now load the same Bootstrap 5 foundation as the main layout. Both previously ran on the old stylesheet stack, and in places requested stylesheets that no longer existed.
      • Stray pull-left / pull-right usage reduced from 68 to 10, and Bootstrap 2 input-append / input-prepend markup from 273 to 79, as those areas moved to the bridge’s handling.

      Icons and fonts

      • The template Options screen loaded its icon font from a content delivery network that has shut down; both maxcdn references are gone and the screen now uses the same current icon set as the front end.
      • Font Awesome 4 fa fa- references reduced from 21 to 11 as icons moved to the current set.
      • Both WebFontConfig web-font loaders have been removed from index.php and component.php.

      Version

      • templateDetails.xml <version>, the <creationDate>, the index.php @version docblock and the Template Version: span in the manifest description are all carried at the same value, so the version shown in the Joomla administrator matches the one on the download page.

      Fixed

      Pages that returned a server error

      • Every “page not found” was served as a 500. error.php used removed Joomla 3 class aliases (JError::raiseWarning, JText), so when it was called it fatalled — and Joomla cannot render any error page when the error template itself fails. It now uses the namespaced API and raises a proper \Exception with the status code.
      • The VirtueMart login page depended on a class Joomla no longer has. The login override’s plugin hook used JDispatcher, which does not exist in Joomla 5 or 6.
      • A module chrome had a PHP parse error. html/layouts/chromes/slides.php was missing the $ on a variable assignment, so any module assigned that chrome style produced a blank page.

      Browser errors and dead requests

      • A JavaScript error on every page. The template shipped its own cut-down copy of jQuery UI, which VirtueMart picked up in preference to its own full copy, breaking the autocomplete it extends. The template’s copy is no longer shipped and VirtueMart loads its own.
      • A JavaScript error on the template Options screen (jQuery is not defined), left behind when the old colour control was replaced. The Options screen now loads what it needs in its own right.
      • Stylesheet requests for files that are no longer part of the template. Each returned the site’s “page not found” response on every page load, costing a request and logging a browser warning each time.

      Maintenance pass

      With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.
      • IcoMoon icon font 404s. A @font-face rule in css/template.css pointed at media/jui/fonts/, a location Joomla 4 removed — four failed requests on every page load, and a stray character in place of the search icon. The rule is disabled and the search icon is self-contained.
      • Pagination arrows rendered as empty squares. Joomla 4 and later emit .icon-angle-left, -right, -double-left and -double-right, which the legacy icon stylesheet did not define. They are now mapped to self-contained artwork.
      • Featured articles clipped to their title. A single-column featured view combined with blog.css overflow 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 the field it belongs to; the margin is now cleared inside search and finder modules.

      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.

      Shop and page layout

      • The category description now lines up with the products beneath it.
      • The phone shop carousels sit evenly across the row rather than stopping short on the right.
      • The breadcrumb trail is inset from the screen edge on phones instead of sitting flush against it, while the header and toolbar bands continue to run the full width of the screen.
      • “Remember me” checkboxes keep their proper size on phones.
      • The cart item list uses the full width of the cart panel.

      Removed

      Legacy stylesheets no longer shipped

      • The entire bundled Bootstrap 2 stylesheet stack: css/bootstrap/bootstrap.css, bootstrap.min.css, bootstrap-responsive.css, bootstrap-responsive.min.css, bootstrap-extended.css, bootstrap-rtl.css and bootstrap-tooltip-extended.css. Joomla’s own Bootstrap 5 is used instead.
      • css/k2.css and css/k2.print.css — styling for a third-party extension the template no longer carries.

      Legacy scripts no longer shipped

      • js/jquery-ui.min.js — the cut-down jQuery UI copy described under Fixed.
      • js/jquery.stellar.min.js — the retired parallax plugin, replaced by js/cs-parallax.js.
      • utils/admin-js.js — superseded by the current Options-screen scripts.

      Files removed

      • html/com_content.zip and html/modules.php — material that was being shipped but never loaded.
      • The K2 module override tree html/mod_k2_content/, including its Slider layout.
      • An internal development report file that was being included in the download.
      • In total the shipped tree moves from 282 files to 279: 14 added, 17 removed, 74 modified.

      Bundled third-party templates

      • Three unrelated Joomla templates that arrived with the original sample data — horme_3, vmbeez3 and vmbasic — 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.

      Security

      • Output escaping more than doubled across the template — htmlspecialchars and equivalent escaping calls rise from 50 to 111, covering the template parameters echoed into the page.
      • Rich-text template parameters are filtered through Joomla’s input filter in HTML mode, which strips script, style and iframe elements and on* event handlers while allowing the markup these fields are documented to accept.
      • Server paths no longer disclosed on error pages. A caught exception could be rendered as a string that included the site’s absolute filesystem path and a stack trace; the error template now substitutes a generic message while keeping the status code.
      • Direct-access _JEXEC guards extended across the template’s PHP files (81 → 83).

      Quickstart

      • Bundles Joomla 5.4.10 and VirtueMart 4.8.4.
      • Ships a single template style, with the demo’s working and preview styles removed.
      • Sample-data housekeeping: redirect records, template override records and action-log entries are cleared, and expired sessions removed, so a new install starts clean.
      • The Joomla guided tour that ships set to start automatically no longer launches itself on first login. It remains available from the administrator for anyone who wants it.

      Package

      • Installs as an upgrade over an existing copy — no uninstall-first step, and your template settings are preserved.
      • Supplied as a standalone template package and as a quickstart; the Joomla 4 download remains available but is no longer recommended for new projects.
    • Release Date: 2025-08-07, Version: 07.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-08, Version: 07.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: 2023-11-17, Version: 31.10.2023 4.3.4/4.2.0, Notes:
      • Updated - Compatible with PHP 8.2
      • Updated - Compatible with Joomla 4.3.4
      • Updated - Compatible with VirtueMart 4.2.0
      • Fixed - Minor bugs
    • Release Date: 2023-08-12, Version: 12.08.2023 4.3.0/4.0.13, Notes:
      • Fixed - Mega Menu Min Width, now set in the Template Style rather than the Link Class
    • Release Date: 2023-06-30, Version: 26.06.2023 4.3.0/4.0.13, Notes:
      • Fixed - VirtueMart Products Module issue
      • 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-08-22, Version: 23.08.2022 3.10.11/4.0.6, Notes:
      • Fixed - Joomla 3.10.11 
      • Fixed - Template updated for PHP 8.0