Premium Joomla Templates for Joomla 5 and Joomla 6
Zeus Energize Themes Templates Changelog
-
October 15, 2026
Version 5.4.10
First Joomla 5 native release. Zeus Shop has been brought forward from the previous download (28.06.2024 5..1.1/4.2.12, built against a VirtueMart 4.2.12 pre-release) to Joomla 5.4.10 + VirtueMart 4.8.4 + PHP 8 + Bootstrap 5. The main page layout now uses Bootstrap 5 rows and columns; the template overrides and your own module content keep their Bootstrap 2 classes and render on Joomla 5’s Bootstrap 5 through a compatibility stylesheet. All 165 Joomla 3 class calls are gone, the VirtueMart login page and the add-to-cart buttons work again, and there is a new phone layout with a slide-out menu and a fingertip-sized toolbar. The template options gain a real colour picker, Joomla’s own on/off switches, a favicon tool, a Custom CSS box and current social networks, and every template setting written into the page is escaped. jQuery still loads for the camera slideshow, the Owl product carousels and the scroll animations; the old jQuery menu, background and polyfill plug-ins are no longer loaded. Compared with the previous download: 250 → 256 files, 9 added, 3 removed, 44 modified. The template version is now 5.4.10, matching the Joomla version it ships with.Added
Bootstrap 5 compatibility layer
index.phploads Joomla 5’s bundled Bootstrap 5 (/media/vendor/bootstrap/css/bootstrap.min.css) ahead of the template’s own stylesheets.- New
css/bs2-bs5-bridge.css: maps Zeus’s Bootstrap 2 grid (.row-fluid,.spanN, offsets, nested fluid rows), thehidden-phone/visible-phonefamily of utilities, tab panes,.well/.page-header, button and form classes and the modal shell onto Bootstrap 5. It is linked after all of the template’s own stylesheets, just before</head>, with a file-time version marker so an update shows straight away. - New
js/cs-jq-compat.js: restores three jQuery 1.x calls that Joomla 5’s jQuery 3 removed but the bundled slideshow and carousel scripts still use (.live(),.offset()on the window, and.load(fn)as a load-event shortcut).
Phone layout
- New
js/cs-mobile-generic.js: on phones (up to 767 px) Zeus gets a compact header with a menu button that opens the main menu as a slide-out panel, with sub-menus that open in place. - A phone toolbar under the header with six buttons of at least 44 px: Section menu (the shop categories), Log in, Register, Search, Follow us (the social links) and Cart. The template’s own second menu button and desktop quick links are hidden on phones in its favour.
- Phone cart page: each product is a card with labelled price, quantity, tax and total; the totals read as label/amount lines, and the billing, shipping and checkout buttons are full width. Nothing runs off the screen.
- The add-to-cart confirmation, the login dialog and the cart drop-down fit a phone screen.
- Login, quantity and coupon fields use 16 px text on phones, so iPhones no longer zoom the page in when you tap them.
- Account pages (login, registration, password reset, VirtueMart account) show the page content first on phones, with only the breadcrumbs and the store category menu above it.
- Phone slideshow: the caption sits at the top of the slide, so its text and Buy Now button fit inside it. The previous / next arrows are visible on touch screens, where they used to appear only on mouse hover.
- Joomla page numbers wrap onto a second line instead of running off the screen.
- The page content keeps a 15 px inset from the phone edge, and the footer and the home page’s wide image band (
#top-long) a 20 px inset, while their backgrounds still run edge to edge (cs-no-bs2-gutterbody class). The page cannot be pushed sideways.
Own error pages
- New
error.php: “Page not found” (404) and “access denied” (403) pages are shown inside the template, with its header, menus, phone toolbar and footer, instead of the old stand-alone “Oops!” page, which had no phone viewport. The error page uses the template’s default style (so a home-page style that hides the content cannot hide the message) and is markednoindex, follow. Server errors (5xx) use Joomla’s minimal system page, since the database or a module may be what failed.
Colour picker and Options screen
- New custom field
fields/colorpicker.phpwith the open-source Coloris picker, which ships inside the template (js/coloris.min.js,css/coloris.min.css): nothing is loaded from another site. All 101 colour settings use it. - New
fields/adminui.php: makes the template’s Details panel follow Joomla’s light or dark admin theme (it was grey text with a white shadow, unreadable on the dark theme) and lets help text on the Options screen run across the full width.
Favicon tool
- New Favicon tab (fieldset
faviconsettings) with a media field (favicon) and a crop tool (favicontool,fields/favicontool.php): pick an image, drag the square over the part you want, and click Create Favicon. index.phpturns the chosen image into a full icon set through two new helpers,phFaviconSet()andphIcoBytes(): a multi-size.ico(16/32/48) plus 32, 180, 192 and 512 px PNGs inimages/favicon-generated/, with a copy offavicon.icoat the site root. Without a chosen image the template’s ownfavicon.icois used.- 10 new language strings in
en-GB.tpl_zeus.ini(74 → 84), e.g.TPL_ZEUS_FAVICON_TAB,TPL_ZEUS_FAVICON_LABEL,TPL_ZEUS_FAVICONTOOL_CREATE.
Custom CSS that survives updates
- New Custom CSS box (
customcss) on the Header & Footer Custom Code tab. It is stored with the template style in the database, so a template update never touches it. - For larger stylesheets,
css/custom.cssis loaded if it exists. The package deliberately does not contain that file, so an update cannot overwrite or remove it. - Both load after the template’s stylesheets and the compatibility layer, so your rules win.
Modern social network support
- Five new social services, each with its own URL field and on/off switch: Threads, Bluesky, Mastodon, TikTok and Discord (
threads/threadsON,bluesky/blueskyON,mastodon/mastodonON,tiktok/tiktokON,discord/discordON). Zeus now offers 13: X, Facebook, Instagram, Threads, Bluesky, Mastodon, LinkedIn, YouTube, TikTok, Vimeo, Pinterest, Discord and RSS. - The Twitter slot is now labelled X (formerly Twitter).
Security helpers
- 13 new helper functions in
index.php:phEsc(),phRichText(),phHexColor(),phCssDim(),phCssNum(),phCssUrl(),phCssFont(),phCssSelector(),phCssToken(),phJsStr(),phJsLit(),phFaviconSet(),phIcoBytes(). The output helpers are also defined incomponent.phpfor the print view and VirtueMart pop-ups. Details under Security.
Changed
Joomla 5 platform
- Built for Joomla 5.4.10 and VirtueMart 4.8.4.
- The login dialog is a Bootstrap 5 dialog:
data-toggle="modal"→data-bs-toggle/data-bs-target, a centredmodal-dialog/modal-contentwrapper, anddata-bs-dismisson the close control (the Bootstrap 2modal ahide afadeclasses are gone). templateDetails.xmlversion28.06.2024 5..1.1/4.2.12→5.4.10, creation date18/06/2015→2026-10-15; the version shown in the template description and the@versiondocblock inindex.phpmatch.method="upgrade"is kept, so an existing install updates in place.
Page layout on Bootstrap 5
- In
index.php, 49 Bootstrap 2 column classes became Bootstrap 5 ones (.spanN→.col-md-N,.offset3→.offset-md-3) and 21.row-fluidrows became.row, including the home-page tab block. - The template overrides under
html/and module content entered by site editors keep their Bootstrap 2 classes, which the compatibility layer renders. css/template.cssrules written for.span2/.span3columns now also match the matching.col-md-Ncolumns.
J3 → J5 API migration
- All 165 Joomla 3 static calls removed (
JRoute→Route,JText→Text,JFactory→Factory,JHtml/JHTML→HTMLHelper,JURI→Uri,JModuleHelper→ModuleHelper,JPluginHelper,JComponentHelper,JDocumentHTML,JError,JDispatcher). These aliases exist only while Joomla’s Behaviour – Backward Compatibility plugin is enabled, and not at all in Joomla 6. - Calls before → after, by file:
html/mod_login/default.php20 → 0;html/com_virtuemart/user/login.php19 → 0;index.php17 → 0;html/com_virtuemart/productdetails/default.php16 → 0.html/com_virtuemart/virtuemart/default_products.php9,default_categories.php1,default.php1 → 0.html/mod_virtuemart_product/single.php9,default.php7 → 0;html/mod_virtuemart_manufacturer/default.php2,html/mod_virtuemart_currencies/default.php2,html/mod_virtuemart_cart/default.php1 → 0.html/com_virtuemart/category/default.php8,categories.php1 → 0;html/com_virtuemart/user/edit_address.php6 → 0.html/com_virtuemart/cart/default_pricelist.php5,default_address.php2,default_coupon.php1 → 0.html/com_virtuemart/productdetails/default_images.php4,default_reviews.php4,default_customfields.php1,default_showcategory.php1 → 0;html/com_virtuemart/sublayouts/addtocart.phpandaddtocartbar.php1 each → 0.html/com_virtuemart/askquestion/form.php3,bs3-form.php3,mail_html_question.php2 → 0;html/mod_breadcrumbs/default.phpandhtml/mod_search/default.php1 each → 0.error.php:JError::raiseWarning(404, JText::_(…))→ the Joomla 4+ API (see Fixed).
- In all, 35 of the 46 PHP overrides under
html/were modified.
Template Options screen
- 162 field type changes in
templateDetails.xml:- 101 colour settings:
type="color"→type="colorpicker"(Coloris, with a live swatch). - 61 on/off settings: the legacy
class="switch"checkboxes → Joomla 5’s native switcher (type="radio",layout="joomla.form.field.radio.switcher"), for exampleRSSON,H1TitleImgText,H2TitleImgText,cam_autoAdvance,cam_hover,cam_navigation,cam_mobileAutoAdvance. With the retired social switches removed and five new ones added, Zeus has 66 switchers and no legacy checkboxes (65 before).
- 101 colour settings:
- Fields 281 → 288, tabs 12 → 13.
- Tab names no longer end in “Settings”: Basic, Site Name & Slogan, Drop Down Menus, Built-in Slideshow, Product Slider, Testimonials Slider, Manufacturers Slider, Product Images, Side Pop Up Box, Theme; “Template Header And Footer Custom Code” is now “Header & Footer Custom Code”.
Fonts, icons and page loading
- The Google Fonts
WebFontConfigJavaScript loader (which fetchedwebfont.jsfromajax.googleapis.com) is replaced by a direct stylesheet link for Roboto withdisplay=swapand preconnect hints (WebFontConfig1 → 0). - The full-screen loading spinner that hid the whole page until every file had loaded (up to 3 seconds) no longer runs; the page shows as it loads.
- The front end loads Font Awesome 6.5.2 (
all.min.css) withv4-shims.min.cssfrom cdnjs, in place of Font Awesome 4.6.3 and 4.3.0 from the shut-down MaxCDN, which were both loaded. The template’s existingfa fa-*markup keeps working. - Social links are Font Awesome 6 brand icons (
fab fa-*) instead of the 12 PNG images inimages/, and open withrel="noopener".
Menus, background and search without old jQuery plug-ins
- Drop-down menus open on hover with CSS instead of the Superfish/Supersubs plug-ins. The gap between a menu heading and its drop-down can be crossed with the mouse, and a short close delay keeps the drop-down open on the way down.
- The body background, the home page’s wide image band (
#top-long) and the customers band (#customers-box) are sized with CSSbackground-size: coverinstead of Backstretch. - The desktop search opener is a small plain-JavaScript handler instead of a jQuery toggle, and puts the cursor in the search box when it opens.
jquery.mobile.customized.min.jsis no longer loaded with the slideshow: under jQuery 3 it threw an error while loading and nothing used it. Template-side jQuery calls: 103 → 74.
Store
- The cart count is a red number badge on the desktop cart icon and on the phone Cart button, shown whenever the cart holds items; it replaces Zeus’s small text count. An empty cart’s drop-down shows “0 products”.
- On the cart page, the update-quantity and remove buttons show Font Awesome icons (rotate arrows and bin); the remove button is icon-only, keeps “Delete Product From Cart” as its accessible name, and is 44×44 px on phones.
Fixed
Pages that returned a server error
- The VirtueMart login page returned a server error on Joomla 5.
html/com_virtuemart/user/login.phpcalledJDispatcher::getInstance(), which Joomla 4 removed and no compatibility setting brings back; it fired for exactly the guest the login form is for. It now usesFactory::getApplication()->triggerEvent(). The same file’sJHtml::_('behavior.modal'), also removed in Joomla 5, is gone. - The login form could stop with “behavior::formvalidation not found”. The Joomla 3
behavior.formvalidationcall in the VirtueMart login override is now the Joomla 5behavior.formvalidator. With thanks to Zoltán Szász, whose report led to this fix across our templates. - Editing a billing or shipping address could fail on PHP 8.
html/com_virtuemart/user/edit_address.phpcalledcount($this->userFields['functions'])on a value that can be empty, which is a fatal error on PHP 8; it now uses!empty(). Also with thanks to Zoltán Szász. - Every “page not found” could become a server error.
error.phpusedJError::raiseWarning()andJText; with the backward-compatibility plugin off, and always on Joomla 6, Joomla could not render any error page, so each 404 became a 500.
Shop
- Add to Cart did nothing. The button showed a spinner that never finished and the item was never added, because the template’s cart forms were missing the security token VirtueMart requires. The token is now in
html/com_virtuemart/sublayouts/addtocart.php, which product pages, category listings and the product modules all use, and in the home page’s own product form inhtml/com_virtuemart/virtuemart/default_products.php. - The password reset, login and username reminder forms did not show when they had no menu item of their own: such pages borrow the home menu item and its “Home Page” style, which hides
#content-handler.index.phpnow shows the content on those pages.
Maintenance pass
- The
@font-faceincss/template.csspointing at the removedmedia/jui/fonts/IcoMoon font is disabled; it returned four 404s on every page. - Joomla’s pagination arrows (
icon-angle-left/-right/-double-left/-double-right) and the eye on its password show/hide button (icon-eye) were blank; they now draw Font Awesome glyphs. - Featured-article intro text is no longer clipped to its title (
.blog-featured .blog-item). - The search button sits flush with its search box (
#search-position .btn). - With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.
Removed
Legacy scripts no longer loaded
superfish.js,supersubs.js,jquery.backstretch.min.js,jquery.mobile.customized.min.js,modernizr.jsandselectivizr-min.js. The files remain injs/but nothing loads them.- The remote
html5.jsshim fromhtml5shiv.googlecode.comandwebfont.jsfromajax.googleapis.comare no longer requested.
Legacy stylesheets no longer loaded
- Bootstrap 2 in the main layout:
css/bootstrap/bootstrap.min.css,bootstrap-responsive.min.cssandbootstrap-extended.css. Joomla’s Bootstrap 5 and the compatibility layer take their place. - The Internet Explorer files:
ie9-10.cssfrom the main layout, andie.css/ie6.csswith their conditional comments. - The MaxCDN Font Awesome 4.6.3 and 4.3.0 stylesheets.
- The error page’s
reset.cssandpresets/style-error.css.
Files removed
utils/admin-js.js, a jQuery script that drew the old checkbox switches on the Options screen, and the<script>in the template description that loaded it.html/com_virtuemart/productdetails/default_addtocart.php, an unused override with its own token-less cart form; product pages use the shared add-to-cart sublayout.css/bootstrap.zip, an archive of Bootstrap 2 files left in the stylesheet folder.
Retired social services
- Four social slots removed with their switches: Google+ (
gplus), StumbleUpon, Digg and Blogger.
Security
- Every template setting written into the page is escaped for where it lands, through the new helpers (277 call sites in
index.phpandcomponent.php):phHexColor()(138): colour settings, validated as hex colours with a fallback.phEsc()(50): HTML text and attributes, including all 13 social link URLs.phCssToken()(32),phCssNum()(13),phCssDim(),phCssUrl(): sizes, numbers and image URLs inside inline<style>.phJsLit()(21) andphJsStr()(14): slideshow and carousel settings written into inline JavaScript.
- Site name, slogan and testimonials title (
H1Title,H2Title,testi_title) go throughphRichText(): formatting markup is kept, but scripts, styles, iframes andon*event handlers are stripped. - Image
alttext built withstrip_tags()did not escape quotes; the 3 occurrences inindex.phpare nowphEsc(strip_tags(…)). - Module titles are escaped in
index.php(menu, login, side pop-up box titles), inhtml/modules.php(titles and module class suffixes), in the module chromeshtml/layouts/chromes/megamenu.php,slides.php,vmdefault.phpandvmtab.php, and in themod_breadcrumbs,mod_custom,mod_login,mod_menuandmod_virtuemart_cartoverrides.htmlspecialchars/escape calls across the template: 2 → 31. - The error page escapes the error message it prints.
Quickstart Installer
The Quickstart is a complete Joomla 5.4.10 site with VirtueMart 4.8.4 and Zeus Shop installed as the active template, with the demo content. It is now a zip you extract and install with the normal Joomla installer; the previous Quickstart was an Akeeba
.jpaarchive restored with Kickstart.- Bundled extensions: Joomla 5.4.10, VirtueMart 4.8.4, Akeeba Backup 10.4.0, Weblinks 5.1.0, MCP For J 2.8.3 and StageIt 5.7.3.
- Only the templates the site uses are included: the
templates/folder holdscassiopeia,systemandzeus. VirtueMart’s demo templateshorme_3andvmbeez3are gone; both carried error pages that returned a server error. - Joomla 5.4’s “What’s New” guided tour (tour 15) no longer starts by itself (
autostart = 0). - Joomla’s Statistics plugin is set to never send data.
- A clean starting state: the action log is empty, 5 of the 16 post-install messages are enabled (the beginners’ welcome, action logs, privacy, multi-factor authentication and automated updates), and the template-override tracking table is empty, so there is no “changes found” warning.
Package format
- Standalone template: Zeus Shop now installs as a Joomla package (
pkg_zeus-5.4.10.zip, manifestpkg_zeus.xml) that installs and registers thezeustemplate. It declaresmethod="upgrade", so an existing Zeus 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 bare template zip. - Quickstart bundle:
zeus-quickstart-J5.4.10.zip, a complete Joomla 5.4.10 install with VirtueMart 4.8.4 and Zeus Shop pre-loaded as the active template.
Version numbering: from this release the first three digits of Zeus Shop’s version match the Joomla release it is built for (5.4.10 = Joomla 5.4.10). A later fix on the same Joomla release adds a fourth digit (5.4.10.1). The previous download was versioned28.06.2024 5..1.1/4.2.12: the original Joomla 4/5-compatible build, still on Bootstrap 2 and Joomla 3 class calls. This release is the first one rebuilt natively for Joomla 5.July 17, 2024Version 28.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 13.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



