Premium Joomla Templates for Joomla 5 and Joomla 6
Universal Energize Themes Templates Changelog
-
November 5, 2026
Version 5.4.10
First Joomla 5 native release. Universal Shop has been rebuilt for Joomla 5.4.10 + VirtueMart 4.8.6 + PHP 8 + Bootstrap 5. The previous download (universal.zip, version string27.06.2024 5.1.0/4.2.12) was built for Joomla 5.1 and VirtueMart 4.2.12 and relied on Joomla's Behaviour - Backward Compatibility plugin; everything below is measured against it. Every Joomla 3 class call is gone (175 calls), the template options use Joomla 5's own on/off switches and a real colour picker, every template setting written into the page is escaped, and there is a new phone layout with a slide-out menu and a fingertip-sized toolbar. The page layout inindex.phpnow uses Bootstrap 5 columns, while the VirtueMart overrides and module content keep their Bootstrap 2 classes and render on Joomla 5's Bootstrap 5 through a compatibility stylesheet. jQuery still loads (Joomla's own copy) for the camera slideshow, the Owl product and testimonial carousels, the product image zoom, the scroll animations and the cookie notice; the old jQuery menu, background, select-box and polyfill plug-ins are gone. Template files: 216 → 194, with 10 added, 32 removed and 46 modified. The template version is now 5.4.10, matching the Joomla version it ships with.Added
Bootstrap 5 rendering through a compatibility stylesheet
index.phploads Joomla 5's bundled Bootstrap 5 (/media/vendor/bootstrap/css/bootstrap.min.css) in place of the template's own Bootstrap 2 sheets (css/bootstrap/bootstrap.min.css,bootstrap-responsive.min.css,bootstrap-extended.css), before the template's own stylesheets, sotemplate.cssstill wins the cascade.- New
css/bs2-bs5-bridge.css, linked last in the page head on every page, with a file-time version marker. It lets Universal Shop's Bootstrap 2 markup render correctly on Bootstrap 5:- Bootstrap 2 grid:
.row-fluid/.spanNwidths and gutters, nested spans and.offsetN, row clearfix, and phone stacking of every span column. - The Bootstrap 2 responsive utilities (
hidden-phone,visible-phone,hidden-tablet,visible-tablet,hidden-desktop,visible-desktop), tab panes, collapse,.well/.page-headerand Bootstrap 2 base typography. - Joomla 4/5 icon classes (pagination arrows, the password eye and others) mapped to Font Awesome 6 glyphs.
- Bootstrap 2 grid:
- New
js/cs-jq-compat.js: restores three jQuery 1.x calls that Joomla 5's jQuery 3.7 removed but the bundledcamera.jsslideshow still uses (.live(),.offset()on the window, and.load(fn)as a load-event shortcut).
New phone layout
- New
js/cs-mobile-generic.js. On phones (up to 767 px) a menu button in the header opens the main menu as a slide-out panel, with submenus opening in place. - A phone toolbar of six 44×44 px buttons: Section menu, Log in, Register, Search, Follow us (the social links) and Cart, in the template's accent colour.
- Section menu opens the shop categories. It reads a new module position,
cs-secondary(declared intemplateDetails.xmland output in a hidden holder inindex.php), so any menu module published there appears behind that button. - The currency selector, which sat alone in a bar above the logo, moves into the bottom of the slide-out menu on phones (a full-width selector with its refresh button) and returns to the top bar from 768 px.
- Opening a phone panel (menu, search, account, cart, social links) dims the page below the header only; the logo, menu button and button row stay clear.
- With products in the cart, the phone's cart button shows the number of items.
- Cart page on phones: each product row becomes a card with labelled price, quantity, tax and total, the totals become label/value lines, and the billing, shipping and checkout buttons run full width at 44 px. Nothing runs off the screen.
- Account pages on phones (login, registration, your account) show the page content first, with only the breadcrumbs and the store category menu above it.
- The page heading, breadcrumbs, login and contact forms and the footer bands line up on the content column's single 20 px edge.
- Blog and category page numbers wrap onto a second line on phones instead of running under the buttons.
- The login and cart form fields use 16 px text on phones, so iPhones no longer zoom the page in when you tap them.
- The slideshow's previous / next arrows sit in the bottom corners on phones, clear of the slide's Buy now button.
Login forms
- New
js/cs-password-eyeball.js: every login form (the login page, the header login and VirtueMart's checkout and account login) gets a show password eye inside the password field, and the password field takes the same width and height as the username field beside it.
Cart
- The cart drop-down 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 (
html/mod_virtuemart_cart/default.php). It offered only Show Cart before.
Favicon
- New Favicon tab in the template options (fieldset
faviconsettings, fieldsfaviconandfavicontool, field classfields/favicontool.php). Pick one image and the template outputs the icon set (phFaviconSet(),phIcoBytes()inindex.php); the template's ownfavicon.icostays as the fallback. With thanks to Gianluca, whose favicon question inspired this tool. - 10 new language strings (
TPL_UNIVERSAL_FAVICON_*,TPL_UNIVERSAL_FAVICONTOOL_*). The language file goes from 74 to 84 strings.
Modern social network support
- Five new social services, each with its own URL field and show/hide switch: Threads, TikTok, Bluesky, Mastodon and Discord (
threads/threadsON,tiktok/tiktokON,bluesky/blueskyON,mastodon/mastodonON,discord/discordON). - The Twitter slot is now X (formerly Twitter) with the X logo. The full set is X, Facebook, Instagram, Threads, Bluesky, Mastodon, LinkedIn, YouTube, TikTok, Vimeo, Pinterest, Discord and RSS.
- Social icons are Font Awesome 6 brand glyphs (
fa-x-twitter,fa-bluesky,fa-threadsand so on) in place of the oldsocicon-*icon font.
Template options (administrator)
- Colour picker: the open-source Coloris picker ships inside the template (
css/coloris.min.css,js/coloris.min.js, field classfields/colorpicker.php), so nothing is fetched from another site. - Custom CSS field (
customcss, on the Header & Footer Custom Code tab), and support for acss/custom.cssfile. Both load after the compatibility stylesheet, so your rules win. The file is deliberately not listed in the package, so a template update can never overwrite or remove it, and the field is stored in the database. - New
fields/adminui.php: help rows in the options run the full width of the form instead of a narrow column, and the template's Details panel follows Joomla's light or dark admin theme.
Changed
Joomla 5 platform
- Built for Joomla 5.4.10 and VirtueMart 4.8.6 (previous download: Joomla 5.1, VirtueMart 4.2.12), with no need for Joomla's Backward Compatibility plugin.
templateDetails.xmlversion27.06.2024 5.1.0/4.2.12→5.4.10and creation date2026-11-05. The version shown in the template description and the@versiondocblock inindex.phpmatch.method="upgrade"is kept, so an existing install updates in place.
Layout grid
- The page layout in
index.phpnow uses Bootstrap 5 rows and columns:.row-fluid29 → 8,.spanN55 → 6,.col-md-N0 → 49. - The VirtueMart overrides and the module content keep their Bootstrap 2 classes, rendered by the compatibility stylesheet.
J3 → J5 API migration
- 175 Joomla 3 static class calls → 0. Each moved to its namespaced Joomla 4+ form:
JRoute→Route(the most common, 55),JText→Text,JFactory→Factory,JHtml/JHTML→HTMLHelper,JURI→Uri,JModuleHelper→ModuleHelper,JPluginHelper→PluginHelper,JComponentHelper→ComponentHelper, andJDocumentHTML→ the document's owncountModules(). Thejimport()call is gone. - Heaviest files:
html/mod_login/default.php(20),html/com_virtuemart/user/login.php(19),index.php(17),html/com_virtuemart/productdetails/default.php(16),html/com_virtuemart/category/default.php(9),html/com_virtuemart/virtuemart/default_products.php(9),html/mod_virtuemart_product/single.php(9). - Every VirtueMart override folder was converted:
askquestion,cart,category,productdetails,sublayouts,userandvirtuemart, plusmod_virtuemart_cart,_category,_currencies,_manufacturer,_product,mod_breadcrumbs,mod_login,mod_menu,mod_customandmod_search. In total 39 of the 47 PHP overrides changed.
Template options (administrator)
- 150 field type changes in
templateDetails.xml:- On/off settings: every legacy
class="switch" type="checkbox"(72 before) is now Joomla 5'sradioswitcher (for exampleOverrideDefaultSettings,RSSON,AdditionalGFontON,H1TitleImgText,cam_autoAdvance). With the retired settings removed and the new social switches added, the template has 69 switchers and no legacy checkboxes. - 86 colour settings:
type="color"→type="colorpicker", with a live swatch.
- On/off settings: every legacy
- Template options: 296 → 294 fields, 13 → 14 tabs. Tab names lose their trailing "Settings" (for example Built-in Slideshow, Drop Down Menus, Theme), and the social labels read "Show X (formerly Twitter)" and so on.
Icons and fonts
- Front end: Font Awesome 4.6.3 from MaxCDN → Font Awesome 6.5.2 (
all.min.css+v4-shims.min.cssfrom cdnjs). The template's existingfa fa-*class names keep working through the shims. - Google Fonts load through a stylesheet
<link>(withpreconnectanddisplay=swap) inindex.php. TheWebFontConfigJavaScript loader, which fetchedwebfont.jsfromajax.googleapis.com, is gone (2 → 0).
Menus and backgrounds
- The hover drop-down menus are driven by CSS (with a small hover helper in the template's phone script) instead of the Superfish / Supersubs jQuery plug-ins. The drop-down stays open while the pointer moves down to it, and nested items that open a fly-out still carry a ▸ marker.
- The background image set in the template options is sized with CSS (
background-size: cover) instead ofjQuery.backstretch(), which was loaded twice before.
Forms and store pages
- One field size per form: VirtueMart's registration, account and checkout address forms mixed required fields, held to 60% of the row by the template's
input.requiredrule, with full-width optional ones. Every text field in those forms now takes the full row at one height. css/template.css: 178,886 → 180,031 bytes.
Fixed
Pages that failed on Joomla 5
- Shop login page:
html/com_virtuemart/user/login.phpcalledJDispatcher,behavior.modalandbehavior.formvalidation, none of which exist in Joomla 5, so the VirtueMart login page returned a 500 without the Backward Compatibility plugin. It now usestriggerEvent()andbehavior.formvalidator, and the modal call is gone. With thanks to Zoltán Szász, whose follow-up report led to theformvalidationfix across our templates. - Error pages:
error.phpusedJErrorandJText. With Joomla's Behaviour - Backward Compatibility plugin off, and always on Joomla 6, Joomla could not render any error page, so every "page not found" became a 500. "Page not found" and "access denied" pages now show inside the template, with its header, menus and footer, and fit a phone screen; they also stopped requestingreset.css,text.css,typography.cssandtemplate_rtl.css, which do not exist. - Error pages and server details: an error caused by a missing item no longer prints the server's file paths and a technical trace, and a missing article or contact answers with the proper 404 page.
Page layout
- Footer columns: the footer chose between one and two columns with
countModules('footer-left && footer-right'), a Joomla 3 expression that Joomla 4 and later read as a single position name, so it always chose one column and Copyrights and Payments stacked full width. Each position is now checked on its own, so they sit side by side. - Home page tabs: the Hot / Featured / Customers Choice product tabs now switch when a tab is clicked; with Joomla 5's Bootstrap they stayed on the first tab.
- Slideshow arrows sat 3 px off the centre of their round buttons; they are centred.
- Testimonials on small phones: the carousel's previous / next buttons no longer cover the end of the "Our happy customers said…" heading.
Cart page
- The Terms of Service box sat above the middle of its label; it is centred on it.
- "Do you have an account?", Login and Register And Checkout ran together on one wrapping line; each now sits on its own centred line.
Maintenance pass
- The
@font-faceincss/template.csspointing at Joomla 3'smedia/jui/fonts/IcoMoon font, which Joomla 4 removed, is disabled. - Pagination arrows: Joomla 4/5's
icon-angle-left/-right/-double-left/-double-rightbuttons had no mapping in the template's icon CSS, so they showed no arrow. They now show Font Awesome 6 arrows. - Featured articles: in a one-column featured (home) view, tall intro articles were clipped to their title. They now show in full.
- Search button: the global button margin pulled the search button away from its box.
#search-position .btnnow hasmargin:0. - With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.
Defaults for a fresh install
- The site name / logo now links to the home page and the built-in slideshow is switched on, with autoplay on desktop and phones (
logoLinked,cam_turnOn,cam_autoAdvance,cam_mobileAutoAdvancedefault to on; they had no default before, so a fresh install showed them off). Existing sites keep their saved settings.
Removed
Files removed
- Bootstrap 2: the whole
css/bootstrap/folder (bootstrap.css,bootstrap.min.css,bootstrap-responsive.css,bootstrap-responsive.min.css,bootstrap-extended.css,bootstrap-rtl.css,bootstrap-tooltip-extended.css), thecss/bootstrap.ziparchive beside it, and Bootstrap 2'sjs/bootstrap.min.js. Joomla 5's Bootstrap 5 and the compatibility stylesheet take their place. - 18 more JavaScript files nothing loads (
js/26 → 11 files):jquery-1.8.1.min.js,jquery.noConflict.js,superfish.js,supersubs.js,jquery.backstretch.min.js,jquery.mobile.customized.min.js,jquery.selectric.js,dropkick.js,jquery.dropkick-1.0.0.js,jquery.nicescroll.min.js,selectnav.min.js,jquery.plusanchor.js,jquery.equalHeights.js,easypaginate.js,imgSizer.js,flexibility.js,modernizr.jsandselectivizr-min.js. - The old Internet Explorer stylesheets
css/ie.cssandcss/ie6.csswith their conditional comments, and thehtml5.jsshim. html/modules.php: Joomla 3-style module chrome functions; Joomla 4/5 uses the layout chromes inhtml/layouts/chromes/.html/com_virtuemart/productdetails/default_addtocart.php: nothing called it (the product page draws Add to Cart fromsublayouts/addtocart.php).utils/admin-js.js: a Joomla 3-era admin script for the old checkbox switches.
Retired settings
- Four social slots removed with their switches: Google+ (
gplus), StumbleUpon, Digg and Blogger. - The Superfish drop-down settings that went with the old menu script (
usedropdown,dropheight,dropwidth,dropopacity,dropspeed), and four settings nothing read:dropdownhandler1maxwidth,HRboxspeed, thecolours_handlersnote, and Slideshow Arrows Background (color37), which the template never applied.
Security
- 13 output helpers added in
index.php(the escaping helper also incomponent.php), 295 references across the template. Every template setting written into the page is escaped for where it lands:phEsc(): HTML text and attributes.phRichText(): the site-name and slogan fields, which may contain simple markup. Joomla's input filter keeps the markup but strips scripts, styles, iframes andon*event handlers.phHexColor()(114 uses),phCssToken(),phCssNum(),phCssDim(),phCssFont(),phCssSelector(),phCssUrl(): colours, sizes, fonts, selectors and image URLs written into the page's CSS.phJsStr(),phJsLit(): values written into inline JavaScript.phFaviconSet(),phIcoBytes(): favicon output.
- Raw
echo $this->params->get(…)output: 214 inindex.phpand 1 incomponent.php→ 2, the Header and Footer Custom Code fields, which are administrator-only by design. - Module, menu and tab titles are escaped in the module chromes
html/layouts/chromes/megamenu.php,slides.php,vmdefault.phpandvmtab.php, and inmod_menu(default.php,default_component.php,default_separator.php,default_url.php),mod_custom,mod_login,mod_searchandmod_virtuemart_cart.htmlspecialchars/ escape calls in the template: 2 → 34. - The social links open with
rel="noopener". - The error page escapes the error message it prints and casts the error code to a number.
html/com_virtuemart/cart/default_pricelist.phpandhtml/com_virtuemart/category/productsviewarray.phpcould be requested directly; both now stop unless Joomla loads them (defined('_JEXEC') or die), like the rest of the template.
Quickstart Installer
The Quickstart is a complete Joomla 5.4.10 site with VirtueMart 4.8.6 and Universal Shop pre-configured as the active template, installed with Joomla's own web installer. The previous download was an Akeeba
.jpaarchive restored with Kickstart.- Bundled extensions: Akeeba Backup 10.5.0, Weblinks 5.2.0, MCP For J 2.11.0, StageIt 5.9.2.
- The site
templates/folder holds onlycassiopeia,systemanduniversal. VirtueMart's demo templateshorme_3,vmbeez3andvmbasicare not included; the first two had error pages that returned a server error. - A Store Categories menu module is published at
cs-secondary, so the phone's second menu button opens the shop categories. - Guests can use Ask a question on a product page without logging in first, and the demo's two Contact Us menu links (top menu and footer), which pointed nowhere, open the contact page.
- The Smart Search index is built, so the site search returns results from the first visit.
- Joomla 5.4's "What's New" guided tour does not start by itself, and Joomla's Statistics plugin is set to never send data.
- A clean starting state: the action log is empty, hit counters are zero, no stale update notices are listed, and the post-installation messages are trimmed to Joomla's five new-site advisories (welcome, action logs, privacy, multi-factor authentication, automated updates).
Package format
- Standalone template: now a Joomla package,
pkg_universal-5.4.10.zip(pkg_universal.xml), that installs the Universal Shop template (tpl_universal.zip) and registers it in the package manager. It declaresmethod="upgrade", so an existing Universal Shop updates in place, and<blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own. The previous download was a plain template zip. - Quickstart bundle:
universal-quickstart-J5.4.10.zip, a complete Joomla 5.4.10 install with VirtueMart 4.8.6 and Universal Shop pre-loaded as the active template.
Earlier history and version numbering: the previous Joomla 5 download was dated 27.06.2024 with the version string5.1.0/4.2.12(the Joomla and VirtueMart versions it was built for); the Joomla 4 package stays in the download area under LEGACY - Joomla 4 - Not Recommended For New Projects. From 5.4.10 the first three digits of the template version match the Joomla release it is built for; a later fix on the same Joomla release adds a fourth digit (5.4.10.1).July 17, 2024Version 27.06.2024 5.1.1/4.2.12
- Update - Template updated to Joomla 5
- Compatible with Virtuemart pre-release Version 4.2.12
- Minor Bugs fixed
February 15, 2024Version 09.02.2024 5.0.2/4.2.6
- Update - Template updated to Joomla 5
- Compatible with Virtuemart pre-release Version 4.2.6
- Please Note: VirtueMart 4.2.4,is not compatible with the Joomla 5,
therefore no Joomla 5 Quickstart until VirtueMart Version 4.2.6 is publicly released.
April 10, 2023Version 01.04.2023 4.2.8/4.0.12
- Fixed - Template updated to be compatible with Joomla 4.2



