• Change Log:
    November 4, 2026

    Version 5.4.10

    Rapid's first release for Joomla 5. Until now this template existed only for Joomla 3: the previous download was the September 2022 package for Joomla 3.10 and VirtueMart 4.0 (its manifest identified itself as 29.07.2020 3.9.20/3.8.4), and came with an Akeeba backup and Kickstart as its quickstart. It has now been brought up to Joomla 5 and VirtueMart 4.8 natively, with the Joomla 3 code it was written against replaced, its fixed desktop header and top bar restored, its phone layout reworked, and the files nothing loaded taken out of the download. The template tree goes from 228 files to 215: 11 added, 24 removed and 52 changed. Built against Joomla 5.4.10, VirtueMart 4.8.6 and PHP 8.3, with Bootstrap 5 throughout.

    Three things stand out for anyone who has run the Joomla 3 version. The template no longer depends on anything Joomla stopped providing at version 4: every Joomla 3 class call, removed behaviour and missing layout variable has been rewritten, so it runs without Joomla's backward-compatibility plugin. The quickstart is now an ordinary Joomla 5 site rather than a Joomla 3 backup to restore. And the forms, cart and account pages have been gone over one by one, so spacing, checkboxes and buttons line up on desktop and on phones.

    Added

    Favicon tool

    • A Favicon tab in the template's Options, with a media picker and an in-browser crop tool (fields/favicontool.php). It writes the icon into the page head along with an apple-touch-icon and a fallback, so a site no longer needs a hand-placed favicon.ico in the root. With thanks to Gianluca, whose favicon question inspired this tool.

    Colour pickers on the Options screen

    • All 83 colour settings now use a colour picker with a live swatch that ships with the template (css/coloris.min.css, js/coloris.min.js, fields/colorpicker.php), in place of Joomla's own colour field. Nothing is fetched from an outside site to draw it.

    Show and hide on every password field

    • The login pop-up, the login page and VirtueMart's account and checkout login forms have an eye icon inside the password field that reveals what you have typed (js/cs-password-eyeball.js). The password field is also made the same width as the username field above it.

    A Checkout button in the cart panel

    • The header cart panel offered only "Show Cart". Once the cart has something in it, it now offers Check Out Now as well, so a customer can go straight to checkout from the panel.

    Bootstrap 5 compatibility layer

    • css/bs2-bs5-bridge.css, the shared stylesheet that lets a Bootstrap 2 era layout render correctly on Bootstrap 5. The template keeps its Bootstrap 2 class names in its markup and renders on Bootstrap 5 through this layer. It carries revision 2026-10-24.163 with 16 template-specific blocks on top of it.
    • js/cs-mobile-generic.js for the phone header, drawer and panels, and js/cs-jq-compat.js, a small shim that restores two pieces of jQuery that older code in the template still calls and that the jQuery shipped with Joomla 5 no longer provides.

    Joomla 4+ module chrome

    • The vmdefault module style that every module position in the page layout uses is now a Joomla 4+ layout, html/layouts/chromes/vmdefault.php. The Joomla 3 version defined it in html/modules.php, a file Joomla 4 and later never read, so every module would have lost its styling.

    Changed

    Joomla 5 native throughout

    • Every Joomla 3 class call is gone from the template: JFactory, JText, JHtml, JRoute, JUri, JError and the rest are now the namespaced Joomla 4+ API, across index.php, component.php, error.php and the VirtueMart and Joomla override files. An audit of the shipped tree finds none, down from 325.
    • Code that Joomla 4 removed outright, and that stopped pages from loading on a Joomla 5 site, has been rewritten: the article route helper (ContentHelperRoute, 19 calls in 8 overrides) now uses Joomla's current route helper; the print and email article icons that Joomla 4 dropped are gone; the category views read their column count from the menu item's settings instead of a value Joomla no longer sets; the featured view's pagination uses the current API; and the login override no longer loads a file from com_users that Joomla 4 removed.
    • Joomla 3 behaviours that no longer exist are gone: behavior.modal (4 calls), behavior.framework (2) and behavior.caption (1). The VirtueMart login and address forms use the current behavior.formvalidator instead of the removed behavior.formvalidation, which stopped validating anything on Joomla 4 and later. With thanks to Zoltán Szász for reporting this.
    • Layout values that Joomla 3 handed to every layout and Joomla 4+ does not - the module class suffix, the breadcrumb separator, the template name in the product image layout, and the category slugs in the article views - are now set in the layouts that use them, and two PHP 8 warnings about empty dates are handled.
    • The template's 39 on/off settings use Joomla 5's native switches. They were Joomla 3 checkbox markup; none of the old style remains in the manifest.
    • The login pop-up is a Bootstrap 5 modal, including its close button.

    Search

    • The template's override for Joomla 3's old search module has been removed. Joomla 4 and later search with Smart Search, which the template's search box now uses.

    Icons and fonts

    • Font Awesome 6.5.2 with the version 4 compatibility shims, loaded from cdnjs, so the template's existing icon names keep working. The page loaded Font Awesome 5.0.1 from use.fontawesome.com, and the Options screen loaded 4.6.3 from MaxCDN, which has since shut down, so its icons returned a 404 on every load.
    • The search button's magnifying glass and the currency switcher's arrow were bitmap images. They are now Font Awesome icons in each button's own colour, so they stay sharp on high-resolution screens.
    • The Google web font loader that ran as JavaScript has been replaced by an ordinary stylesheet link with preconnect hints, so fonts no longer wait on a script, and no font request is made when no font is chosen.
    • The social links cover 13 networks. Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest and Discord are in, Twitter is shown as X, and Google+, StumbleUpon, Digg, MySpace and Blogger, all long gone, have been retired.

    Stylesheets reach visitors after an update

    • The template's stylesheets and scripts were served with no version marker, so a browser kept showing its cached copy after an update until the visitor cleared it by hand. The template's own files now carry one, taken from each file's modification time.

    Standalone install defaults

    • A fresh install of the template now links the logo to the home page and has the slideshow switched on, matching the demo. Both were off by default.

    Fixed

    Pages that did not work

    • Every error page was a blank 500 on Joomla 4 and later. error.php called JError, a Joomla 3 class that no longer exists, so the error page itself crashed while trying to render. It has been rewritten: a missing page (404) or a page you may not open (403) now appears inside the template itself, with the site's header, menus, footer and phone navigation, and a "Home Page" button. Server errors use Joomla's own plain error page, because the database or a module may be what failed. Neither ever prints the server's file paths, and a missing article asked for by its id answers with the 404 page rather than a server error. On phones the error box now fits the screen; it was a fixed-width box wider than a phone.
    • Product pages stopped with a server error on Joomla 5. The product image layout used a value Joomla 3 handed to every layout and Joomla 4+ does not. It now looks the template up itself.
    • The print view and VirtueMart's pop-up windows were still on the template's Joomla 3 head. component.php and error.php now load the same Bootstrap 5 stack and compatibility layer as the main page, so pop-ups such as Ask a question and the print view use the template's styling and colours.
    • Layout tests that could never be true. In 22 places the template asked whether groups of module positions had content using a Joomla 3 form of the test that Joomla 4 and later read as a single position name, so those areas could never appear.
    • The editor's icon font. It was loaded from media/jui/, a folder Joomla 4 removed, giving four 404s on every page load. With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

    Desktop header

    • The header stays fixed at the top of the page again. It relied on Bootstrap 2's fixed navigation bar, which Bootstrap 5 no longer provides, so it scrolled away and left an empty 90 px band above the page.
    • The top bar is one line again. FAQ, Help, Support, the search box, the currency switcher and the cart sit side by side in the 31 px bar instead of stacking under each other, and the currency shown in the switcher is centred on the bar.
    • Adding to the cart no longer pushes "Show Cart" out of its button, and the item count badge is drawn inside the button rather than off the top of the page.
    • The category menu no longer jumps on hover. Long names such as "Automotive & Industrial" wrapped onto a second line as the pointer arrived, moving the menu and the page under it. The submenu links also have the same left inset as the menu beside them.

    Phones and tablets

    • One side margin. The cart and contact page titles sat inside an extra gutter; pages now share one, and the category and product banner headings no longer run to the screen edge.
    • The cart button is a basket icon with its count, like the buttons beside it. It was a squeezed two-line label, then an empty square.
    • The menu button is filled in the template's orange with black bars, like the row of buttons beside it, and stays that way while another panel is open.
    • The "added to your cart" pop-up stacks Continue Shopping and Show Cart instead of squeezing them apart, and the cart page no longer has a large empty band between its title and the billing details.
    • The account pop-up shows its whole form; it cut "Remember Me" in half.
    • Registration: Save and Cancel no longer touch.

    Forms

    • Login, registration and checkout fields were too narrow. A contact-form rule in the template sized every required field to 60% of its row. It now applies to contact forms only.
    • Every field of a form is one height, drop-downs included (registration, billing details and login).
    • The login form's rows had no space between them, in the account pop-up and on the Register page. They now do.
    • Checkboxes no longer touch their labels. "Remember me" and "I agree to the Terms of Service" have a gap to their text and are centred on their line, on the registration page and on the cart page, and the Remember box stays square on phones.
    • The "Ask a question" pop-up no longer draws a line above and below every form row, keeps its size on screen, and its fields fit narrow screens.
    • Registration, account and other Joomla user forms no longer draw a line above and below every row.

    VirtueMart

    • Checkout stopped with a server error on PHP 8. The address form's layout (html/com_virtuemart/user/edit_address.php) counted a list of form scripts that VirtueMart 4.8.6 can leave empty, and PHP 8 treats counting nothing as a fatal error. It now counts an empty list instead, and checkout opens normally.
    • The account page's Login button sat beside "Remember me". It is now under the form, with the Remember box clear of the password field.
    • Product page: the quantity box no longer touches the Add to Cart button.
    • Prices render centred at the template's own size. VirtueMart 4.8's price markup had pushed them to the right at 18 px.
    • "Check Out Now" lands on a cart page with the site's own side margin; its content sat against the screen edge.
    • The cart panel's text - "Show Cart", the total and "Check Out Now" - no longer has the tops of its letters clipped.
    • The "added to your cart" pop-up shows its two links as buttons rather than bare text in a box sized to them.

    Footer

    • The footer's About text was grey on dark grey, at a contrast of 3.03:1. It is now 5.9:1.

    Removed

    Scripts and stylesheets nothing loaded

    • Nine JavaScript files and seven stylesheets that no page of the template ever requested: superfish.js, supersubs.js, jquery.backstretch.min.js, modernizr.js, selectivizr-min.js, jquery.dropkick-1.0.0.js, jquery.noConflict.js, jquery.mobile.customized.min.js and imgSizer.js, with css/bootstrap.css (Bootstrap 2), css/responsive.css, css/reset.css, css/slideshow.css, css/ie.css, css/ie6.css and css/ie9-10.css. The slideshow still runs on camera.js, which stays, along with the product image zoom and the product slider.
    • The old colour-picker script in utils/js_colourchanger/ and its images, replaced by the colour pickers above.

    Other

    • html/modules.php (replaced by the module chrome above) and the Joomla 3 search module override in html/mod_search/.
    • Settings that nothing in the template read, so the Options screen no longer offers controls that change nothing: the drop-down menu's speed, width, height and opacity, and the old colour picker's colour-handler setting.

    Security

    • Template settings are escaped for where they land - page text, an attribute, a CSS value, a CSS url() or a JavaScript string - so a value typed into the Options screen cannot break out into the page. The shipped tree carries 211 of these escaping calls where it previously had none; the two settings documented as holding custom code are the only exceptions.
    • The site name and slogan printed into image alt attributes are quote-escaped.
    • The VirtueMart override file html/com_virtuemart/cart/default_pricelist.php had no guard against being requested directly from the web. It now stops unless Joomla is running it.
    • The error page no longer shows the server's file paths or a technical trace.

    Quickstart

    • Built on Joomla 5.4.10 with VirtueMart 4.8.6, replacing the Joomla 3.10 Akeeba .jpa and Kickstart pair the previous download used. It installs like an ordinary Joomla site, with no extra restore tool to run first. The demo shop's 38 products, 10 categories, their images and settings came across from the Joomla 3 version.
    • The site search uses Smart Search, with Joomla 3's old search component and its plugins removed.
    • It arrives as a clean install rather than a copy of our demo: article, product and category hit counters at zero, and no leftover user, session or order rows.
    • The administrator shows only Joomla's own five feature introductions.
    • The template list is the canonical four and nothing else - Cassiopeia, Rapid, Atum and the VirtueMart administrator template.
    • The footer's copyright year is current.

    Package

    • The standalone template package installs on Joomla 5 and is built from the same tree as the quickstart. It is a proper Joomla package with its own manifest, so Joomla can install it over an existing copy as an update.
    • templateDetails.xml carries a single semantic version. The previous download identified itself with a combined date-and-version string, 29.07.2020 3.9.20/3.8.4, which Joomla cannot compare for updates.
    • The copyright line is a real copyright statement rather than a bare link, and the author URL is https.

Changelog entries prior to this release are not available.