Energy Changelog
Version 6.2.0
First Joomla 6 native release. Energy has been rebuilt for Joomla 6.2.0 + PHP 8 + Bootstrap 5. The previous download is the vendor’s package with the version string26.07.2024 5.1.2, a Joomla 3-era codebase carried forward on Joomla 5, and everything below is measured against it. Every Joomla 3 class call is gone (48), the Bootstrap 2 and jQuery 1.8 plug-in stack is no longer loaded, the page has a real phone layout with a slide-out menu and a row of fingertip-sized buttons, the Options screen has colour pickers, switchers and a Favicon tool, every template setting written into the page is escaped, and the error pages are the template’s own. Joomla 6’s Bootstrap 5 replaces the template’s Bootstrap 2; the template’s own markup keeps its Bootstrap 2 class names and renders through a compatibility stylesheet,css/bs2-bs5-bridge.css, so the design is unchanged. The built-in Camera slideshow stays. Template files: 228 → 187, with 11 added, 52 removed and 31 modified; thejs/folder goes from 27 files to 7. The template version is now 6.2.0, matching the Joomla version it ships with.Added
Bootstrap 5 rendering through a compatibility stylesheet
index.phploads Joomla 6’s bundled Bootstrap 5 (/media/vendor/bootstrap/css/bootstrap.min.css) in place of the template’s own Bootstrap 2 sheets.- New
css/bs2-bs5-bridge.css(revision 2026-10-24.163), linked after the template’s own stylesheets with a file-time version marker. It lets Energy’s Bootstrap 2 markup render correctly on Bootstrap 5:- the Bootstrap 2 grid (
.row-fluid/.spanNwidths and gutters, nested spans, phone stacking), buttons, forms, navigation and modal classes; - the Bootstrap 2 responsive utilities (
hidden-phone,visible-phoneand the tablet and desktop variants); - Joomla 4+ icon classes (pagination arrows, the password eye, the article “Category” folder) mapped to Font Awesome 6 glyphs.
- the Bootstrap 2 grid (
- The template’s own rules for Energy are carried in the same file as marked blocks:
energy-tablet-site-width-fluid,energy-phone-burger-not-covered,energy-drawer-chip-ink-20261020,energy-form-field-width-20261020,energy-login-modal-fields-20261020,energy-phone-logo-noslideshow-20261020,energy-phone-header-square-20261020,energy-folder-icon-20261020,energy-footer-menu-phone-20261020,energy-phone-edge-20261031andenergy-std-20261103. - New
js/cs-jq-compat.js: restores the jQuery 1.x calls that Joomla 6’s jQuery 3.7 removed but the bundled Camera slideshow (camera.js) still uses. Without it the slideshow controls stop working. - Font Awesome 6.5.2 (
all.min.css+v4-shims.min.cssfrom cdnjs) on the front end, so the template’s existingfa fa-*class names keep working.
New phone layout
- Phones now get a phone header. New
js/cs-mobile.js, wired fromindex.php: the logo with a menu button centred on it, and below it a row of 44×44 px buttons for the second menu, Login, Register, Search and the social links. The previous download had a drop-down list built by theselectnavplug-in and a page fixed at 930 px wide that scrolled sideways on a phone. - The menu button opens a full-width drawer with the main menu; items with sub-menus get a visible + button that opens them in place. The buttons and the menu button are filled in the template’s blue (
rgb(2, 114, 178)) with white icons and bars, so the header reads as one set. - The second menu button opens the site’s sidebar Main Menu with its sub-levels, instead of a second copy of the top menu. It reads a new hidden module position,
cs-secondary(declared intemplateDetails.xmland output in a hidden holder inindex.php); any menu module published there appears behind that button. - Each button opens its own panel. Tapping outside an open panel closes it, and opening a panel dims the page below the header only, so the logo, menu button and button row stay clear.
- Phone pages no longer show an empty strip or a rounded box above the header: the header is square and flush to the top, and the logo is fully visible on pages without the slideshow.
- Tablets (768–979 px): the fixed 930 px header row and menu bar made the page 952–1058 px wide, so the right-hand end of the menu and the Register / Login buttons were cut off. The page now fits the screen, centred, with the whole menu showing.
- On phones the footer copyright line no longer touches the screen edge.
- Login and registration fields use 16 px text on phones, so iPhones no longer zoom the page in when you tap them. On account pages and error pages the page content comes first on a phone.
Template Options screen
- 23 colour settings now use a colour picker (Coloris:
fields/colorpicker.php,js/coloris.min.js,css/coloris.min.css,js/coloris.LICENSE.txt). They were plain text boxes where a hex value had to be typed by hand. The old colour-changer is gone (see Removed). - The on/off settings are Joomla’s native switchers (
layout="joomla.form.field.radio.switcher"). The 27 legacytype="checkbox"fields, which no longer render as switches on Joomla 4+, are all converted; the template has no checkbox fields left. - New Favicon tab (fieldset
faviconsettings, fieldsfavicon,faviconspacerandfavicontool, field classfields/favicontool.php): choose one image, crop a square from it in the browser, and the template builds the icon set and prints the matching tags in the page head (phFaviconSet()andphIcoBytes()inindex.php). With thanks to Gianluca, whose favicon question inspired this tool. - 10 new language strings (
TPL_ENERGY_FAVICON_*,TPL_ENERGY_FAVICONTOOL_*) inlanguage/en-GB/en-GB.tpl_energy.ini. The language file goes from 66 to 72 strings (10 added, 4 removed). - Custom CSS: a
customcssfield, and support for acss/custom.cssfile in the template folder. Both load after the compatibility stylesheet, so your rules win over an equal-strength rule of ours. The file is deliberately not listed in the package, so a template update never overwrites or removes it. - New
fields/adminui.php: a hidden admin field that styles the Options screen’s help banners, loaded only on that screen. - The Options screen’s icons load again.
templateDetails.xmlpointed at Font Awesome 4 on MaxCDN, which no longer serves it; it now uses Font Awesome 6.5.2 from cdnjs with the v4 shims. - Template options: 104 → 110 fields, 8 → 9 groups.
Modern social network support
- Nine new social services, each with its own URL field and show/hide switch: Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Vimeo, Pinterest and Discord.
- The Twitter slot now shows the X logo (
fa-x-twitter). The full set is X, Facebook, Instagram, Threads, Bluesky, Mastodon, LinkedIn, YouTube, TikTok, Vimeo, Pinterest, Discord and RSS. The social links open withrel="noopener".
Module styles and the error page
- New
html/layouts/chromes/vmdefaultlogin.php: the module style the login pop-up asks for (style="vmdefaultlogin"). It was never defined, so on Joomla 4+ the login module inside the pop-up rendered without its wrapper. - The error page is now the template’s own.
error.phpputs the message inside the normal template, so a “page not found” shows the site’s header, menus, sidebar, footer and phone navigation, fits a phone screen, and is markednoindex. It renders with the template’s default style, so a home-page style that hides the content cannot hide the message. Server errors (5xx) use Joomla’s minimal system page, because the database or a module may be what failed.
Changed
Joomla 6 platform
- Built for Joomla 6.2.0 (previous download: Joomla 5 on a Joomla 3-era codebase), with no need for Joomla’s Backward Compatibility plugin.
templateDetails.xmlversion26.07.2024 5.1.2→6.2.0and creation date2026-11-06; the version shown in the template description matches.method="upgrade"is kept, so an existing install updates in place. The Options page shows a 6.2.0 entry in its Changelog block.
J3 → J6 API migration
- 48 Joomla 3 static class calls → 0. Each moved to its namespaced Joomla 4+ form (
JText→Text,JRoute→Route,JHtml→HTMLHelper,JFactory→Factory,JModuleHelper→ModuleHelperand the rest). Those aliases only existed while the Behaviour - Backward Compatibility plugin was on, and Joomla 6 has none of them. - Heaviest files:
html/mod_login/default.php(20),error.php(13),index.php(6),html/pagination.php(3). In total 21 of the 33 PHP overrides changed. html/mod_search/default.php: the module class suffix is read from the module’s own parameters. Joomla 4+ no longer passes$moduleclass_sfxto overrides, so PHP 8 logged an undefined-variable warning on every page.html/mod_menu/default.php: theselectnav()call is removed along with the library. The unused Joomla 3 menu copyhtml/_mod_menu/(5 files) andhtml/modules.php(the Joomla 3 chrome functions, built on MooTools) are gone; Joomla 4+ reads module styles only fromhtml/layouts/chromes/.toggleModule.phpandtoggleModule2.phpno longer contain the MooToolsaddEventcall that Joomla 4+ cannot run.
Bootstrap 5 and scripts
- Login pop-up rebuilt as a Bootstrap 5 modal (
data-bs-toggle/data-bs-target/data-bs-dismiss). The old markup used Bootstrap 2’sdata-toggle="modal"and a jQuery.hide()handler. Its fields are stacked with their labels, up to 320 px wide, instead of tiny inline boxes. - Desktop drop-down menus run on CSS hover plus a small class toggle in
index.phpinstead of the Superfish / Supersubs plug-ins. A transparent bridge covers the gap between a menu heading and its drop-down, and a short close delay keeps the menu open while the pointer travels, so a drop-down no longer closes on the way to it. - Google Fonts load directly from a stylesheet link (Oswald, with
display=swap) instead of theWebFontConfig/webfont.jsloader. The loader requested the font overhttp://, which browsers block as mixed content on an https site. - The page background image is drawn with CSS instead of the
jquery.backstretchplug-in. - jQuery is still loaded, by Joomla, because the built-in slideshow is still Camera (
js/camera.js,js/camera.min.js,js/jquery.easing.1.3.js). The template’s own copy of jQuery 1.8.1 and the plug-ins that ran on it are no longer shipped. component.php(print views and pop-ups) no longer carries the Internet Explorer conditional-comment stylesheet links.
Defaults for a fresh install
- A standalone install now links the logo / site name to the home page and starts with the built-in slideshow on and advancing, on desktop and phone (
logoLinked,cam_turnOn,cam_autoAdvance,cam_mobileAutoAdvancedefault to 1 intemplateDetails.xml). Existing sites keep their saved settings.
Layout and look
- Every field in the login, registration, reset and contact forms shares one width. The vendor’s
input.required{width:160px}made text and e-mail boxes 160 px wide beside a full-width password row on Joomla 4+; the username box now matches the password row, including its show-password button. - Desktop and phone pages use Font Awesome 6 glyphs for their header, login and social icons.
Fixed
Pages that failed on PHP 8 and Joomla 4+
- Every 404 was served as a 500 on Joomla 6, and on Joomla 5 whenever the Backward Compatibility plugin was off.
error.phpcalledJErrorandJText(11 calls); when the error page itself fails, Joomla cannot show any error page. It now uses the Joomla 4+ API. - 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 instead of a 500.
- Paginated lists:
html/pagination.phpused$page['data']['active']as an array although it is a string. That was a warning on PHP 7 and is a fatalTypeErroron PHP 8, so any paginated blog or category list returned a 500. Both conditions guarded empty blocks and are removed; every page link renders as before. - Module styles with a PHP syntax error: the vendor’s
html/layouts/chromes/bottommod.phpandboxmodule.phphad raw HTML while PHP was still open, so any module assigned either of those module styles produced a fatal error and a blank page. Both are repaired.
Logo and slogan
- The logo and the slogan both link to the home page. The slogan had no link at all, and the logo’s link setting did nothing unless the template style had been saved once. The link is now on unless you switch it off (
logoLinkeddefaults to on, also for a style that never saved it). - On a site installed at the domain root, the logo link pointed at the current page; it now always goes to the site’s home page.
Maintenance pass
- Pagination arrows: Joomla 4+ prints
icon-angle-left/-right/-double-left/-double-righton the Prev / Next / First / Last buttons, and the template had no glyph for any of them. They now show Font Awesome 6 arrows. - Featured articles: in a one-column featured (home) view, Joomla 6’s grid together with the template’s
overflow:hiddenclipped tall intro articles to their title. They now show in full. - Search button: the global button margin could pull a search button away from its box; search buttons now have
margin:0. - Article info: the “Category” line shows its folder icon again (
icon-folder-openhad no glyph). - With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.
Removed
Files removed (52)
- Bootstrap 2:
css/bootstrap.css,css/bootstrap.zipand the wholecss/bootstrap/folder (7 files:bootstrap.css,bootstrap.min.css,bootstrap-extended.css,bootstrap-responsive.css,bootstrap-responsive.min.css,bootstrap-rtl.css,bootstrap-tooltip-extended.css), plusjs/bootstrap.min.js. Joomla 6’s Bootstrap 5 and the compatibility stylesheet take their place. - Unused stylesheets:
css/blog.css,css/ie.cssandcss/slideshow.css. - jQuery 1.x and its plug-ins (
js/27 → 7 files, 24 removed):jquery-1.8.1.min.js,jquery.noConflict.js,jquery.mobile.customized.min.js(it throws under jQuery 3.7),superfish.js,supersubs.js,hoverIntent.js,selectnav.min.js,jquery.backstretch.min.js,dropkick.js,jquery.dropkick-1.0.0.js,jquery.selectric.js,jquery.nicescroll.min.js,jquery.equalHeights.js,jquery.plusanchor.js,jquery.elevateZoom-3.0.8.min.js,owl.carousel.min.js,scrollReveal.min.js,easypaginate.js,imgSizer.js,flexibility.js,modernizr.js,selectivizr-min.jsandjquery-eu-cookie-law-popup.js, plus the archivejs.zip. - The old colour-changer and Joomla 3-era admin scripts (
utils/, 9 files):utils/admin-js.js,utils/bss_fontchanger.php,utils/js_colourchanger/(jscolor.jsand four images) and two switch images. The colour pickers above replace them. - Joomla 3 module code:
html/modules.phpand the unusedhtml/_mod_menu/copy (5 files). - The Internet Explorer conditional-comment links to
css/ie*.cssand the calls to the removed plug-ins inindex.phpandhtml/mod_menu/default.php, which would throw on Joomla 6’s jQuery and stop the rest of each script block.
Retired settings
- Two social slots removed with their switches: MySpace and Blogger.
- The settings that went with the old drop-down menu script:
usedropdown,dropheight,dropwidth,dropopacity,dropspeedanddropdownhandler1. - Template Options fields that no code ever read (also not in the vendor’s 5.1.2, where saving them changed nothing): Site Name Color (
sitenamecolor) and Slogan Color (slogancolor), with their 4 language strings inlanguage/en-GB/en-GB.tpl_energy.ini; and Site Name Font Size (sitenamefontsize), Slogan Font Size (sloganfontsize), Register button linked to (panelregister), the slide-caption height (cam_caption_height) and a help line (colours_handlers). - Settings code in
index.phpthat could never run:topwidth, which printed nothing before its fixed230px, and the two Camera loader colours, now written as the values they always rendered.
Security
- Output helpers added in
index.php, 146 helper calls across the template (none before). Every template setting written into the page is escaped or validated 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(),phCssToken(),phCssNum(),phCssDim(),phCssFont(),phCssSelector(),phCssUrl(): colours, sizes, fonts, selectors and image URLs written into the page’s CSS.phJsStr(),phJsLit(): values written into the slideshow’s inline JavaScript.
- Raw
echo $this->params->get(…)output inindex.php: 65 → 3, the Header Custom Code (twice) and Footer Custom Code fields, which are administrator-only by design. htmlspecialchars/ escape calls in the template: 37 → 75. Module titles, menu items and tab titles written into attributes are escaped in the module styles (bottommod.php,boxmodule.php,slides.php,topmod.php,vmdefault.php), inmod_menu(all four files),mod_loginandmod_search, and in the article overrides for archive, category, blog, featured and their link lists.- The error page escapes the message it prints and casts the error code to a number, and outside debug mode it replaces any message that carries a server path or a stack trace with Joomla’s generic one (status code unchanged).
- The social links open with
rel="noopener"(none did before).
Quickstart
The quickstart is now a complete Joomla 6.2.0 site with Energy installed and configured as on the demo. It replaces the previous Akeeba backup archive (
.jpa+ Kickstart) of the Joomla 5 demo.- Bundled extensions: Akeeba Backup Core 10.5.0, StageIt 6.6.2, Web Links 5.2.0 and the en-GB language pack 6.2.0.1.
- The site’s name and logo link to the home page (the template style is saved with
logoLinkedon). - The demo content is 67 articles, 125 published menu items and 50 published modules, and the Smart Search index is built (156 items), so the site search returns results from the first visit.
Package
- Standalone template: now a Joomla package,
pkg_energy-6.2.0.zip, that installs the Energy template (tpl_energy) and registers it in the package manager.method="upgrade"lets an existing Energy update in place, and<blockChildUninstall>true</blockChildUninstall>means the template is removed through the package rather than on its own. - Quickstart: the full Joomla 6.2.0 site described above.
- From 6.2.0 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 (6.2.0.1).
Earlier history: the previous download was the vendor’s package dated 26.07.2024 (5.1.2). The rows below are the vendor’s release notes for 5.2.0 (the Joomla 5 update) and 4.2.8 (the Joomla 4.2 update).Version 05.03.2024 5.2.0
- Updated - Updated to Joomla 5
Version 01.04.2023 4.2.8
- Fixed - Template updated to Joomla 4.2