Uniqua Virtuemart Template Changelog
- Change Log:
- Release Date:
2026-10-31, Version:
5.4.10, Notes:
Uniqua Shop's first release as a Joomla 5 native template. The template has been rebuilt on Bootstrap 5 and the current Joomla API, its Options screen made usable again, its print view and error page modernized for the first time, and a large amount of dead weight taken out of the download. The template tree goes from 270 files to 251: 12 files added, 31 removed and 57 changed. Built against Joomla 5.4.10, VirtueMart 4.8.4 and PHP 8.3, with Bootstrap 5 throughout.
Two changes stand out for anyone who has run this template before. Every one of the 105 colour settings in the Options screen now has a working colour picker, where on Joomla 5 they all rendered as empty text boxes; and the
jsfolder has shrunk from 760 KB to 344 KB because 21 JavaScript libraries that nothing on the site ever loaded have been taken out of the package.Added
Favicon tool
- A Favicon tab in the template's Options, with a media picker and an in-browser crop tool. It writes the icon into the page head along with an
apple-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 105 colour settings now show 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 reason they were broken is worth stating, because it had been the case since Joomla 4. The template bootstrapped the old
jscolorlibrary from a<script>tag that had been HTML-escaped inside another field'slabelattribute. Joomla never executed it, so no picker was ever created. That dead script also pointed at a folder this release removes, so it returned a 404 on every Options load. Both are gone. - The picker ships with the template (
css/coloris.min.css,js/coloris.min.js,fields/colorpicker.php). Nothing is fetched from an outside site.
A print view and pop-up layout that exist at all
- The template had no
component.php. That is the layout Joomla uses for the print view, and the one VirtueMart uses for its "Ask a question" and similar pop-up windows, so those windows fell back to a bare page with none of the template's styling. A propercomponent.phpis now included, loading Bootstrap 5 and the compatibility layer like the main page does.
Show and hide on every password field
- Login, registration and account forms have an eye icon that reveals what you have typed (
js/cs-password-eyeball.js).
Bootstrap 5 compatibility layer
css/bs2-bs5-bridge.css, the shared stylesheet that lets a Bootstrap 2 era layout render correctly on Bootstrap 5. This template carries revision2026-10-21.162with 20 template-specific blocks on top of it.js/cs-mobile-generic.jsfor the phone header, drawer, search and social panels, andjs/cs-jq-compat.js, a small shim described under Changed below.
A dedicated layout for the category menu
html/mod_virtuemart_category/csmenu.php, so the shop's category menu is drawn by the template rather than by VirtueMart's generic module output.
Changed
Joomla 5 native throughout
- Every removed Joomla 3 class alias is gone from the template:
JFactory,JText,JHtml,JError,JRoute,JUri,JRegistryand the rest are now the namespaced Joomla 4+ API, acrossindex.php,component.php,error.phpand all 66 VirtueMart and Joomla override files. An audit of the shipped tree finds none remaining. These aliases only ever worked while Joomla's Behaviour - Backward Compatibility plugin was enabled. - The template's own settings now use Joomla 5 native switches. The 70 on/off settings in the Options screen were Joomla 3 era checkbox markup that Joomla 5 rendered inconsistently; none of the old style remains.
- Form validation uses the current Joomla asset instead of the removed
behavior.formvalidation, which silently stopped validating anything on Joomla 4 and later. With thanks to Zoltán Szász for reporting this.
The slideshow stays on camera.js
- This template has not been migrated to Swiper. Its home page slideshow still runs on camera.js, which is what the layout and its settings are built around, and both
js/camera.jsandjs/camera.min.jscontinue to ship. - That is why
js/cs-jq-compat.jsis included. camera.js calls$.browserand$.fn.live, two pieces of jQuery that were removed years ago and are not in the jQuery that Joomla 5 ships. The shim restores just those two so the slideshow keeps working, rather than leaving the template to fail on a modern jQuery.
Icons and fonts
- Font Awesome 6.5.2 with the version 4 compatibility shims, so the template's existing icon names keep working.
- The Options screen was loading its own icons from MaxCDN, a content network that has since shut down, so that screen's icons returned a 404 on every load. It now uses the current icon set. Removing the link outright was not an option, because the panel's own help text genuinely uses
fa fa-*class names. - The Google web font loader that ran as JavaScript has been replaced by an ordinary stylesheet link, so fonts no longer wait on a script to fetch them.
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 local ones now carry one, taken from the file's own modification time.
Internet Explorer leftovers
- The conditional comments that loaded extra stylesheets and shims for Internet Explorer 6, 7 and 8 have been removed, along with the scripts they pulled in. No current browser reads them.
Fixed
Pages that did not work
- Every error page was served as a blank 500.
error.phpcalledJError::raiseWarning(), a Joomla 3 class that no longer exists, so the error page itself crashed while trying to render. A visitor who hit a missing page got a server error instead of the template's 404, and the real reason was never shown. The file has been converted to the current API and now renders properly. - The cart's address form could fatal on PHP 8. The "Bill To / Ship To" address editor counted a value that VirtueMart can legitimately leave empty, which on PHP 8 is a fatal error rather than a warning, and the checkout step stopped there. Inherited from an old VirtueMart view; fixed in the template's override.
- Stylesheet links pointing at files that are not in the template. Each one returned Joomla's 404 page, which the browser then refused as the wrong content type, on every single page load. All of them have been removed.
The menus
- The mega menu. Its panel was crushed, mispositioned and had no gap between the trigger and the panel, so it was awkward to use and in places unreadable. Position, height and spacing are all corrected.
- The category tiles in the mega menu (Phones, Watches and the rest) were 60 px tall with their labels hanging out underneath, because the tiles are sized the old Bootstrap 2 way and Bootstrap 5 measures boxes differently.
- The "Shop Menu" tile icon rendered as a 13 px character at tablet width. The stylesheet was looking for an old Font Awesome class name that the markup no longer uses.
- The drop-down menus no longer need two jQuery plugins. The template's own menu code handles them.
The header
- The currency label was clipped to "E...". It had a fixed maximum width that was wide enough under the old box model and 70 px too narrow under Bootstrap 5's. It now reads "Euro €" in full, at every width down to 320 px.
- The account and edit icons rendered as small boxes pinned to the top of the bar instead of centred in their cells.
- The cart sat 20 px below where it belongs underneath the search box.
- The "Register" (edit) icon and the header side-tab arrow were missing entirely - the markup used Font Awesome 4 names that the compatibility shims only map for one older style of icon.
VirtueMart
- Product rows could collapse to a few pixels tall, letting whatever followed overlap the product tiles.
- The category browse page put the product grid 21 px too high, overlapping the sort-order row above it.
- The lines through the "Ask a question" form are gone. The form's table drew a border above and below every row, so the pop-up looked like a spreadsheet.
- The login drop-down and the cart's own fields rendered as 2 px-inset browser default boxes, and the drop-down was 60 px narrower than it should have been.
- Pop-out product links opened in the wrong place. Legacy
<a class="modal">links were being positioned against the window rather than the page.
Phones and tablets
- Opening a phone panel no longer dims the logo and the menu button. The dark overlay behind the social, search, cart and second-menu panels started at the very top of the screen, so the logo row looked faded while its buttons still worked. It now starts below the row of buttons.
- The star beside "Hot Products" was shorter than the tab row it sits in - 48 px in a 60 px row, so it read as misaligned.
- Too much empty dark space under the footer block, which has been reduced from 76 px to 26 px.
- The social icons above the footer links now sit centred on a phone. They were bunched against the left edge with the rest of the row empty.
- After "Check Out Now", the Register / Guest / Cancel buttons were touching, with Cancel indented and too short to tap comfortably. They are now spaced, share a left edge, and Cancel is a usable height.
- The page cannot be panned sideways at any width down to 320 px.
The print view and VirtueMart's pop-ups
- Besides getting a
component.phpat all, the error page was still carrying the template's pre-Joomla-5 head: no Bootstrap 5, no compatibility layer, and links to stylesheets that no longer exist. Both views now load the same current stack the main page does.
The Options screen in the administrator
- Joomla's guided tour hijacked the administrator. Joomla 5.4 ships a "what's new" tour set to start by itself and point at the dashboard, which redirected every administrator request there. It no longer starts on its own.
- Menu rows left behind pointing at template styles that no longer exist have been cleared out. Only rows that were both in the trash and pointing at a missing style were touched.
Carried over from a customer report
- The search icon font was loaded from
media/jui/, a folder Joomla 4 removed, giving four 404s per page and a stray character in place of the icon. - Pagination arrows rendered as empty squares, because Joomla 4 and later emit icon names the template's icon stylesheet did not know.
- Tall single-column intro articles in the featured view were clipped to their title.
- The search button was detached from its input box by a global button margin.
- With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.
Removed
21 JavaScript libraries nothing loaded
- The
jsfolder has gone from 760 KB to 344 KB. Removed:jquery-1.8.1.min.js,jquery.nicescroll.min.js,slick.min.js,iscroll.js,dropkick.js,jquery.dropkick-1.0.0.js,bootstrap.min.js,flexibility.js,jquery.mobile.customized.min.js,jquery.stellar.min.js,selectivizr-min.js,modernizr.js,jquery.equalHeights.js,jquery.backstretch.min.js,superfish.js,supersubs.js,imgSizer.js,jquery.plusanchor.js,easypaginate.js,selectnav.min.jsandjquery.noConflict.js. - Every one was checked against what the template actually loads, not against its name: each
<script>tag and eachaddScriptcall in the template's PHP was read, and the requests made by the rendered home, category, product, cart, login, search and error pages were recorded at desktop and phone widths. Nothing on the site asked for any of them. A second copy of jQuery, two different drop-down plugins and two separate menu plugins were all shipping unused.
The bundled Bootstrap 2 stylesheets
- The whole
css/bootstrap/folder -bootstrap.css,bootstrap.min.css,bootstrap-responsive.css,bootstrap-responsive.min.css,bootstrap-rtl.cssandbootstrap-extended.css. The template is on Bootstrap 5 now and these were not being loaded.
Other
html/layouts.zip, an archive sitting inside the shipped template, and an unusedhtml/modules.php.- The
utils/js_colourchanger/folder, which only the deadjscolorscript referred to. security-sweep-3f-report.md, an internal development report that had been riding along inside the shipped template tree.- Two third-party VirtueMart demo templates,
horme_3andvmbeez3, that are not part of this product and were bundled in the quickstart. Both also had broken error pages of their own, so activating either produced a 500 instead of an error page.
Security
- Template settings are escaped where they are printed into the page, so a value typed into the Options screen cannot inject markup into the front end. The handful of settings that are meant to contain markup - the heading titles this template family documents as accepting it - are passed through Joomla's HTML filter instead, which still strips scripts, styles, iframes and event handlers.
- The removed Joomla 3 API calls matter here too: a template that fatals in
error.phpcannot show a controlled error page, and what a server shows instead is outside the template's control. - No part of the template now loads code from an outside content network at render time.
Quickstart
- Built on Joomla 5.4.10 with VirtueMart 4.8.4, replacing the Akeeba
.jpaand Kickstart pair that the previous download used. It installs like an ordinary Joomla site, with no extra restore tool to run first. - It arrives as a clean install rather than a copy of our demo: article hit counters at zero, no action log, and no leftover user, session or order rows.
- The administrator shows only Joomla's own feature introductions, not the stack of postinstall messages the demo had accumulated.
- Four template styles are present - Cassiopeia, Uniqua Shop, Atum and the VirtueMart administrator template - and nothing else. The donor's spare templates have been removed along with their database rows, so Joomla does not list a template that is not there.
- The update sites it ships with have been cleaned: two had stray whitespace in their URLs, one still contained unreplaced build placeholders, and one was a duplicate.
Package
- The standalone template package installs on Joomla 5 and is built from the same tree as the quickstart.
templateDetails.xmlcarries a single semantic version. The previous download identified itself with a combined date-and-version string,13.08.2024 5.1.2/4.2.12, which Joomla cannot compare for updates.- The version shown on the template's own Options screen, the version in the manifest and the version in this changelog are now written from one source at build time, so they cannot drift apart.
- 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. It writes the icon into the page head along with an
- 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:
13.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-27, Version:
22.11.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-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-08-24, Version:
24.08.2022 3.10.11/4.0.6, Notes:
- Fixed - Joomla 3.10.11
- Fixed - Template updated for PHP 8.0
- Release Date:
2026-10-31, Version:
5.4.10, Notes: