Skip to content
  • Version 6.2.0

    First Joomla 6 native release. Ngine has been rebuilt for Joomla 6.2.0 + PHP 8 + Bootstrap 5. The previous download is the Joomla 3 package (ngine_template_package.01.10.2022 3.10.11.zip, containing the template ngine.zip, version 3.0.1); there was never a Joomla 4, 5 or 6 download, so this release replaces that package and every “before” number below is measured against its template. Every Joomla 3 class call is gone (208 → 0), MooTools is no longer used, the template options use Joomla's own on/off switches and colour pickers, every template setting written into the page is escaped, the template's error page now loads, and there is a new phone layout with a slide-out menu and a row of fingertip-sized buttons. Joomla 6's Bootstrap 5 replaces the template's Bootstrap 2; the template's own markup keeps its Bootstrap 2 classes and renders through a compatibility stylesheet. The Camera slideshow stays. Template files: 369 → 367, with 21 added, 23 removed and 29 modified. The template version is now 6.2.0, matching the Joomla version it ships with.

    Added

    Bootstrap 5 rendering through a compatibility stylesheet

    • index.php loads Joomla 6's bundled Bootstrap 5 (/media/vendor/bootstrap/css/bootstrap.min.css) in place of the template's own Bootstrap 2 sheet (css/bootstrap.css). component.php (print and pop-up views) loads it too, together with Font Awesome 6 and the compatibility stylesheet.
    • New css/bs2-bs5-bridge.css, revision 2026-10-24.163, linked last in the page head. It lets Ngine's Bootstrap 2 markup render correctly on Bootstrap 5: the Bootstrap 2 grid (row-fluid / spanN columns), the hidden-phone family of responsive classes, tab panes, collapse, .well and .page-header; it maps Joomla 4+ icon classes (pagination arrows, the password eye and others) to Font Awesome 6 glyphs. Ngine's own additions to it are kept as marked blocks: the login pop-up width (ngine-login-modal-donor-box), the desktop search box (ngine-desktop-finder-search), the phone logo (ngine-phone-logo-in-header), the menu line height (ngine-menu-li-lineheight), the desktop frame width (ngine-desktop-fixed-container-width), the login panel (ngine-login-well-transparent), the phone menu heading (ngine-phone-menu-orphan-title), form fields and buttons (ngine-forms-20261020), pagination and login-option colours (ngine-misc-20261020) and the phone side inset (ngine-phone-inset-20261020, ngine-phone-inset-20261031).
    • The Bootstrap 2 glyphicon sprite, which Joomla 4 removed from media/jui/, ships with the template (css/img/glyphicons-halflings.png, -white.png).
    • 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 still uses.
    • Font Awesome 6.5.2 (all.min.css + v4-shims.min.css from cdnjs) on the front end. The template's fa fa-* class names keep working through the shims. The old Font Awesome 4 link in the template manifest pointed at MaxCDN, which no longer serves it, so the icons on the template's Options screen were missing; they load again. The header search button is a Font Awesome 6 icon (it was a bitmap).

    New phone layout

    • New js/cs-mobile.js. On phones (up to 767 px) a menu button in the header, filled in the template's blue (rgb(64, 135, 200)) with dark bars, opens the main menu as a slide-out panel. Submenus open in place behind visible “+” buttons. This script replaces the old jquery.mobile.customized.min.js.
    • A row of 44×44 px buttons under the header in the same blue, for the account (log in), search and social panels. Opening a panel dims the page below the button row only, so the logo and menu button stay clear, and tapping outside an open panel closes it.
    • The page has no 20 px side gutter on phones (cs-no-bs2-gutter on <body>). The dark module panels sit 10 px in, text starts at 20 px, and headings, the breadcrumb and footer titles start at the same 20 px inset as the page text (two paddings had stacked).
    • On phones the logo has 30 px of space on its left and the menu button sits the same 30 px from the right edge. The breadcrumb row fits the screen, the footer menu is one centred row over the centred copyright, and the Popular (Most Read) list gets the same bulleted look as Latest News.
    • Login and registration fields use 16 px text, so iPhones no longer zoom the page in when you tap them.
    • Print and pop-up views (component.php) now carry a viewport tag.

    Login and forms

    • On the login page the show password eye sits beside the password field and every field in a login or registration form takes the same height. From 768 px up, the account fields are 174×30 px, the password group 216 px including its eye, and the passkey button is sized to its label.
    • The browser-grey buttons of the original design (the donor's text.css painted them with the browser's own button face) are now drawn by the template: a light gradient, a 1 px border and black text, with the same look as before on every browser.

    Module styles and overrides

    • New layout chromes in html/layouts/chromes/: toggleModule, toggleModule2, vmdefault and slides, which you can pick as a module style. They replace the module-chrome functions that lived in html/modules.php, which Joomla 4+ does not read.
    • New js/cs-module-toggle.js, loaded from index.php with <script defer>, for the collapsible module styles (see Fixed).
    • New Joomla 5/6 overrides: html/com_content/article/default_links.php, categories/default_items.php, category/default_articles.php and form/edit.php.

    Favicon

    • New Favicon tab in the template options (fieldset faviconsettings, fields favicon, faviconspacer and favicontool, field class fields/favicontool.php). Pick one image and the template outputs the icon set (phFaviconSet(), phIcoBytes() in index.php); the template's own favicon.ico remains the fallback. With thanks to Gianluca, whose favicon question inspired this tool.
    • 10 new language strings (TPL_NGINE_FAVICON_*, TPL_NGINE_FAVICONTOOL_*). The language file goes from 66 to 76 strings.

    Modern social network support

    • Eight new social services, each with its own URL field and show/hide switch: Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest and Discord.
    • The Twitter slot is now X (formerly Twitter) with the X logo (fa-x-twitter). The full set is X, Facebook, Instagram, Threads, Bluesky, Mastodon, LinkedIn, YouTube, TikTok, Vimeo, Pinterest, Discord and RSS. Links open with rel="noopener".

    Template options (administrator)

    • Custom CSS field (customcss), and support for a css/custom.css file. Both load after the compatibility stylesheet, so your rules win. The file is deliberately not listed in templateDetails.xml, so a template update can never overwrite or remove it, and the field is stored in the database.
    • New fields/colorpicker.php with the Coloris picker (js/coloris.min.js, css/coloris.min.css) for the template's colour settings: 25 colour fields now use it instead of plain text boxes (for example bodybackground, bodytextcolor, buttonscolor, buttonscolorhover).
    • New fields/adminui.php: help rows in the options run the full width of the form, and the template's Details panel follows Joomla's light or dark admin theme.
    • Template options: 111 → 116 fields, 7 → 8 tabs.

    Changed

    Joomla 6 platform

    • Built for Joomla 6.2.0 (previous download: Joomla 3.10), with no need for Joomla's Backward Compatibility plugin.
    • templateDetails.xml version 3.0.1 → 6.2.0, creation date 2026-11-06. The version shown in the template description matches. method="upgrade" is kept, so an existing install updates in place.

    J3 → J6 API migration

    • 208 Joomla 3 static class calls → 0. Each moved to its namespaced Joomla 4+ form (JText → Text, JFactory → Factory, JHtml → HTMLHelper and the rest).
    • Heaviest files: html/com_content/featured/default_item.php (38), html/com_content/category/blog_item.php (36), html/com_content/article/default.php (27) and html/com_content/archive/default_items.php (25). error.php (12), index.php (5) and html/mod_login/default.php (20) were converted too. In total 20 of the template's PHP overrides changed.
    • The search override reads the module class suffix from the module's parameters instead of a Joomla 3 variable.

    Template options (administrator)

    • 32 on/off settings that were legacy type="checkbox" fields are now Joomla's radio switcher (for example H1TitleImgText, H2TitleImgText, RSSON, cam_autoAdvance, cam_fx_multiple_on, cam_hover). The template has no legacy checkboxes left.
    • Defaults for a fresh install: the site name / logo links to the home page (logoLinked), and the built-in slideshow is switched on with autoplay on desktop and phones (cam_turnOn, cam_autoAdvance, cam_mobileAutoAdvance). Before, they were off. Existing sites keep their saved settings.

    Page width and layout

    • Desktop pages are 1170 px wide (from 1200 px screens up), like every current Energize Themes template; the template was a fixed 960 px page. The inner boxes keep the template's own inset and the 920–1000 px background artwork is stretched to the new width. Screens between 980 and 1199 px keep the template's own layout.
    • The 19 module-position conditions in index.php that used Joomla 3 text expressions (for example countModules('top-1 or top-2 or top-3 …')) are written as separate checks, one position at a time.
    • On desktop the logo starts 20 px in from the left, so it no longer touches the frame edge, and the main menu's “Home” lines up with it.

    Menus and scripts

    • MooTools is no longer used. The module-chrome functions in html/modules.php and the tipz.js and parallax.js scripts ran on MooTools, which Joomla 4+ does not load.
    • The Superfish / Supersubs scripts are no longer loaded.
    • js/: 12 → 8 files. Scripts no longer loaded: jquery.mobile.customized.min.js, modernizr.js, selectivizr-min.js, imgSizer.js, superfish.js, supersubs.js and the html5.js loader, and the webfont loader in error.php and component.php. Scripts newly loaded: cs-jq-compat.js, cs-mobile.js and cs-module-toggle.js. jQuery itself is still used on the page (Joomla's copy) and by the Camera slideshow.
    • The template's error page no longer loads css/presets/style-error.css; it is drawn inside the template (see Fixed).

    Look

    • Inactive pagination numbers (Smart Search results, blogs) use a dark blue (#2d6aa3) instead of the pale grey that was nearly invisible on Bootstrap 5's white page buttons; the active page is unchanged.
    • On the login page, the “Forgot your password? / username? / Don't have an account?” links show as the template's blue links on its dark panel instead of three white boxes.

    Fixed

    Pages that failed on Joomla 4+

    • Error pages: error.php used JError and JText (12 Joomla 3 class calls). 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. It is rewritten on the namespaced API. “Page not found” and “access denied” pages now show inside the template itself, with its header, menus and footer and the phone navigation, and fit a phone screen; server errors keep Joomla's own system page.
    • 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.
    • Collapsible module styles (Toggle Module): they open and close again. The toggleModule and toggleModule2 chromes print a show/hide link (data-cs-toggle), but no script shipped to act on it, so clicking did nothing; the old MooTools script they relied on cannot run on Joomla 4 and later. A small built-in script, js/cs-module-toggle.js, now ships and is loaded from index.php with <script defer>.
    • Print and pop-up views: component.php now loads Bootstrap 5, Font Awesome 6 and the compatibility stylesheet, has a phone viewport tag, and no longer carries the Internet Explorer 6 and 7 links or the webfont loader.
    • Slideshow: the Camera slideshow calls jQuery 1.x functions that jQuery 3.7 removed. js/cs-jq-compat.js restores them.

    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 the logo link off (logoLinked); the slogan link keeps the slogan's colour and has no underline, so it looks the same.
    • 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.
    • The logo and slogan image alt text is plain escaped text instead of the raw rich-text field.

    Maintenance pass

    • The two @font-face blocks in css/template.css pointing at Joomla 3's media/jui/fonts/ IcoMoon font, which Joomla 4 removed, are gone.
    • Pagination arrows: Joomla 4+'s icon-angle-left / -right / -double-left / -double-right buttons 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 could pull a search button away from its box; search buttons now have margin:0.
    • The MooTools-era scripts (tipz.js, parallax.js, the functions in html/modules.php) are removed, and the module chromes are rewritten without MooTools.
    • With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

    Removed

    Files removed (23)

    • Bootstrap 2: css/bootstrap.css and js/bootstrap.min.js. Joomla 6's Bootstrap 5 and the compatibility stylesheet take their place.
    • Internet Explorer and old-browser files: css/ie.css, css/ie6.css, css/responsive.css, css/slideshow.css, js/selectivizr-min.js, js/modernizr.js, js/imgSizer.js.
    • Scripts (js/ 12 → 8 files): jquery.mobile.customized.min.js, superfish.js, supersubs.js, parallax.js and tipz.js.
    • html/modules.php: Joomla 3-style module chrome functions built on MooTools; Joomla 4+ uses the layout chromes in html/layouts/chromes/.
    • utils/admin-js.js (a Joomla 3-era admin script for the old checkbox switches) and the old utils/js_colourchanger/ colour picker (jscolor.js and its four images), replaced by the Coloris picker.
    • html/com_content/category/blog_item.zip (a stray archive inside the overrides folder) and images/system/k2CalendarLoader.gif (a K2 leftover nothing referenced).

    Retired settings

    • Five social slots removed with their switches: Google+, MySpace, StumbleUpon, Digg and Blogger.
    • The settings that went with the old drop-down menu script: dropheight, dropwidth, dropopacity, dropspeed, dropdownhandler1.
    • colours_handlers, the setting block that fed the old colour picker.

    Security

    • Output helpers added in index.php, 133 occurrences 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 and on* 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(…) lines in index.php: 86 → 2, the Header and Footer Custom Code fields (headcode, footercode), which are administrator-only by design.
    • Module, menu and tab titles are escaped where they are written into attributes, in the module chromes and in the mod_menu, mod_login and mod_search overrides. htmlspecialchars / escape calls in the template: 39 → 75.
    • An error caused by a missing item no longer shows the server's file paths and a technical trace; the error page escapes the message it prints and casts the error code to a number.
    • The social links open with rel="noopener".
    • Every PHP file in the template stops unless Joomla loads it (defined('_JEXEC') or die): 25 → 35 files.

    Quickstart

    The quickstart is now a complete Joomla 6.2.0 site with Ngine pre-configured as the active template. It replaces the previous quickstart, an Akeeba Backup archive (.jpa) restored with Kickstart.

    • 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 demo content comes to 50 published modules, 124 published menu items and 67 published articles.
    • The slideshow shows on the home page only.
    • The Smart Search index is built (155 indexed links), so the site search returns results from the first visit.
    • The logo link is saved on in the template style (logoLinked).
    • VirtueMart and K2 are not installed; Ngine is not a shop.

    Package

    • Standalone template: now a Joomla package, pkg_ngine-6.2.0.zip (pkg_ngine.xml), that installs the Ngine template (tpl_ngine.zip) and registers it in the package manager. It declares method="upgrade", so an existing Ngine updates in place, and <blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own.
    • Quickstart bundle: a complete Joomla 6.2.0 install with Ngine pre-loaded as the active template, replacing the Akeeba .jpa quickstart.
    Earlier history and version numbering: the previous download was the Joomla 3 package dated 01.10.2022 (3.10.11), containing template version 3.0.1. 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).

Changelog entries prior to this release are not available.