Changelog entries prior to this release are not available.
Ultimo Shop Virtuemart Template Changelog
- Details
- Category: Template Change Log
- Change Log:
November 4, 2026
Version 5.4.10
Ultimo Shop's first release for Joomla 5. Until now this template existed only for Joomla 3: the previous download identified itself as
29.07.2020 3.9.20/3.8.4, built for Joomla 3.9 and VirtueMart 3.8, and came with an Akeeba backup as its quickstart. It has now been brought up to Joomla 5 and VirtueMart 4 natively, with the Joomla 3 code it was written against replaced, its Options screen made usable again, its phone layout reworked, and the files nothing loaded taken out of the download. The template tree goes from 211 files to 209: 14 added, 16 removed and 39 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 phone layout has been reworked as a whole, with the currency switcher, a second menu, product cards and product tabs all usable on a small screen.
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 anapple-touch-iconand a fallback, so a site no longer needs a hand-placedfavicon.icoin the root. With thanks to Gianluca, whose favicon question inspired this tool.
Colour pickers on the Options screen
- All 114 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.
A second phone menu
- On phones, the second menu button opens the site's own "This Site" menu. In the Joomla 3 version it repeated the main menu.
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 revision2026-10-24.163with 13 template-specific blocks on top of it.js/cs-mobile-generic.jsfor the phone header, drawer and panels, andjs/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 chromes
- The module styles the template's positions use -
testimonial,toplong,vmdefaultandvmtab- are now Joomla 4+ layouts inhtml/layouts/chromes/. The Joomla 3 version defined its module styles inhtml/modules.php, a file Joomla 4 and later never read, so those modules would have lost their styling.
Changed
Joomla 5 native throughout
- Every Joomla 3 class call is gone from the template:
JFactory,JText,JHtml,JRoute,JUri,JRequest,JErrorand the rest are now the namespaced Joomla 4+ API, acrossindex.php,component.php,error.phpand the VirtueMart and Joomla override files. An audit of the shipped tree finds none, down from 186. - 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 Joomla 3 form ofaddStyleSheet(), which stopped every page, now uses the current arguments; the mega-menu reads each menu item's settings throughgetParams(); and the login override no longer loads a file fromcom_usersthat Joomla 4 removed. - Joomla 3 behaviours that no longer exist are gone:
behavior.modal(6 calls) andbehavior.framework(3). The VirtueMart login and address forms use the currentbehavior.formvalidatorinstead of the removedbehavior.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 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 was loading Font Awesome twice - 4.3 from MaxCDN, which has since shut down, and 5.0.1 from use.fontawesome.com - and the Options screen loaded 4.6.3 from MaxCDN, so its icons returned a 404 on every load.
- The currency switcher's "go" button was a bitmap image. It is now a Font Awesome icon in the button's own colour, so it stays 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. Threads, Bluesky, Mastodon, TikTok and Discord are in, Twitter is shown as X, and Google+, StumbleUpon, Digg 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.
Fixed
Pages that did not work
- Every error page was a blank 500 on Joomla 4 and later.
error.phpcalledJError, 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, sidebar, 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. - The password-reset, login and username-reminder pages showed no form. A page with no menu item of its own borrows the home page's settings, and the home page's style ("hide content on front page") hides the content area. Those pages now show their content.
- The print view and VirtueMart's pop-up windows were still on the template's Joomla 3 head.
component.phpanderror.phpnow load the same Bootstrap 5 stack and compatibility layer as the main page, so pop-ups such as Ask a question use the template's styling. - Layout tests that could never be true. In 33 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 search icon font and pagination arrows. The icon font was loaded from
media/jui/, a folder Joomla 4 removed, giving a 404 and a stray character in place of the search icon, and pagination arrows rendered as empty squares; tall single-column intro articles in the featured view were clipped to their title, and the search button sat apart from its box. With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.
Phones and tablets
- One side margin. Pages stacked two or three gutters on phones, so text sat at different distances from the edge on about a dozen pages. They now share one.
- The currency switcher sat on its own line above the logo on phones. It has moved into the phone drawer.
- Product cards on phones show their add-to-cart controls in the card. They only appeared on mouse hover, which a phone cannot do, and product titles were partly covered.
- Product tabs on phones show their titles rather than numbers, at one text size, clear of the carousel arrows.
- The menu button is filled in the template's red with white bars, like the row of buttons beside it, and stays that way while the search, second-menu or social panel is open, so it never turns into white bars on a white button.
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 fields were three different heights - 34, 38 and 40 px. They are all 34 px now.
- Checkboxes no longer touch their labels. "Remember me" and "I agree to the Terms of Service" have a gap to their text, and the cart's Terms box is centred on its line.
- The login pop-up has its content padded from the panel's edge, and the panel no longer cuts off its own contents.
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.
- On the cart page, "Do you have an account?", Login and "Register And Checkout" ran together on two left-aligned lines. Each now has its own centred line.
- Prices render left-aligned at the template's own size. VirtueMart 4.8's price markup had pushed them to the right at 18 px.
- The desktop cart icon sits on the same line as the search icon beside it.
- The branding slider's pagination dots are centred in their rings.
- The call to the selectric drop-down plugin has gone; the plugin itself was not being loaded.
Footer
- The footer text was light grey on dark grey, at a contrast of 1.71:1 in the bottom bar and 2.63:1 in the columns. It is now 5.5:1 and 5.3:1.
Removed
Scripts and stylesheets nothing loaded
- Eleven JavaScript files and two 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.mobile.customized.min.js,jquery.nicescroll.min.js,imgSizer.js,selectnav.min.jsandjquery.selectric.js, withcss/ie.cssandcss/ie6.css. The slideshow still runs on camera.js, which stays, along with Owl Carousel, the product image zoom and the cookie notice.
Other
html/modules.php(replaced by the module chromes above) and the Joomla 3 search module override inhtml/mod_search/.- Settings that nothing in the template read, so the Options screen no longer offers controls that change nothing: the ten colour and background settings for the custom social icons, the drop-down menu's speed, width, height and opacity, the non-responsive mode and its site width, and a few more of the same kind.
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 318 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
altattributes are quote-escaped. - Two VirtueMart override files,
html/com_virtuemart/cart/default_pricelist.phpandhtml/com_virtuemart/category/productsviewarray.php, had no guard against being requested directly from the web. Both now stop unless Joomla is running them. - 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.9 Akeeba
.jpaand 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 products, categories, 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, Ultimo Shop, 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.xmlcarries 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.
- A Favicon tab in the template's Options, with a media picker and an in-browser crop tool (