Skip to content
  • Version 6.2.0

    First Joomla 6 native release. Fluency has been rebuilt for Joomla 6.2 + PHP 8 + Bootstrap 5. The previous download is the vendor’s 03.07.2024 5.1.1 package, a Joomla 3-era template, and every “before” number below is measured against it. All 44 Joomla 3 class calls are gone, the Bootstrap 2 and jQuery plug-in stack the template used to load is gone, MooTools is no longer used, the template’s Options screen has colour pickers, switchers and a favicon tool, every template setting written into the page is escaped, the 404 page works and shows no server details, and there is a new phone layout (the old page was fixed at 960 px on every screen). The template keeps its Bootstrap 2 class names in its own markup and renders them on Joomla’s bundled Bootstrap 5 through a compatibility stylesheet, css/bs2-bs5-bridge.css, so the design is unchanged. Template files: 341 in the previous download, 302 now (10 added, 49 removed, 24 modified).

    Added

    Phone layout

    • New js/cs-mobile.js, loaded from index.php. The previous download had no phone layout: css/responsive.css pinned the page at 960 px at every screen width, so on a phone the page had to be panned sideways, and the only phone aid was a selectnav drop-down list.
    • The header shows the logo with a menu button level with it, filled in the template’s red (rgb(185, 0, 0)) with white bars, the same distance from the right edge as the logo is from the left. It opens a full-width drawer with the main menu; items with sub-menus get a + button that opens them in place.
    • Below the header, a row of 44 × 44 px buttons in the same red for the second menu, Log in, Register (when user registration is on), Search and the social links. Each opens its own panel. The page is dimmed below the button row only, so the logo and menu button stay clear, and tapping outside an open panel closes it.
    • The second menu button opens the sidebar Main Menu (Home, Site Map, Login, Sample Sites, Example Pages) instead of repeating the top menu. The Log in button opens the log-in pop-up.
    • The page has no 20 px side gutter on phones (cs-no-bs2-gutter on <body>). Module, content, bottom-module and footer text start at a 20 px inset, and nothing scrolls sideways.
    • The slogan sits under the logo on phones, and the breadcrumb trail sits on the page background instead of spilling out of the dark strip under the header when it wraps onto two lines.
    • On phones the Page Break Article Index sits full width above the article text (it floated right and squeezed the text into a column about 60 px wide), and the Home / Contact us footer menu is one centred row above the copyright line.
    • The bottom-modules Menu module is hidden on phones, because the drawer carries the same links.

    Template Options screen

    • 25 colour settings now use a colour picker (Coloris: fields/colorpicker.php, js/coloris.min.js, css/coloris.min.css). They were plain text boxes where a hex value had to be typed by hand.
    • 32 on/off settings converted to Joomla’s native switchers (layout="joomla.form.field.radio.switcher"), replacing the legacy type="checkbox" fields. The template has no legacy checkboxes left.
    • New Favicon tab (fieldset faviconsettings; fields favicon, faviconspacer and favicontool; fields/favicontool.php): choose an image, crop a square from it in the browser, and the template builds the favicon set and prints the matching tags in the page head (phFaviconSet() and phIcoBytes() in index.php, including an Apple touch icon). Ten new language strings, TPL_FLUENCY_FAVICON_* and TPL_FLUENCY_FAVICONTOOL_*. With thanks to Gianluca, whose favicon question inspired this tool.
    • A Custom CSS field (customcss) and support for a css/custom.css file. The file is loaded only if it exists and is deliberately not listed in templateDetails.xml, so a template update never overwrites or removes it.
    • A hidden admin field (fields/adminui.php) that styles the Options screen’s help banners.
    • Template options: 111 → 116 fields, 7 → 8 tabs. Language file: 66 → 76 strings.
    • The Options screen’s icons load again: templateDetails.xml pointed at Font Awesome 4.6.3 on MaxCDN, which no longer serves it. It now uses Font Awesome 6.5.2 from cdnjs, with the v4 shims.

    Social links

    • Eight new social services, each with its own URL field and show/hide switch: Bluesky, Threads, Mastodon, TikTok, Pinterest, Discord, Instagram and YouTube.
    • The Twitter link 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 (13).
    • All 13 social links open with rel="noopener"; the previous download’s 10 target="_blank" links had none.

    Joomla 6 compatibility files

    • css/bs2-bs5-bridge.css, revision 2026-10-24.163: maps the template’s Bootstrap 2 grid, buttons, forms, navigation and modal classes onto Bootstrap 5, maps Joomla 4+ icon classes (pagination arrows, the password eye) to Font Awesome 6 glyphs, and makes the log-in dialog visible (Bootstrap 2 marks an open dialog .in, Bootstrap 5 marks it .show). Fluency’s own additions are kept as ten marked blocks: fluency-phone-slogan-under-logo, fluency-bottom-footer-band-width, fluency-desktop-fixed-container-width, fluency-login-well-transparent, fluency-phone-menu-orphan-title, fluency-phone-nogutter-inset-20261020, fluency-desktop-parity-20261020, fluency-phone-article-index-footer-20261020, fluency-phone-inset-20261031 and fluency-std-20261103.
    • js/cs-jq-compat.js restores the jQuery 1.x functions the built-in slideshow (camera.js) and the page scripts still call, which Joomla 6’s jQuery 3.7 no longer has. Without it the slideshow controls stop working.
    • js/cs-module-toggle.js, loaded from index.php, for the collapsible module styles (see Fixed).

    Changed

    Joomla 3 → Joomla 6 API

    • All 44 Joomla 3 class calls moved to the namespaced API: html/mod_login/default.php (20), error.php (13), index.php (7), html/mod_menu/default.php (2) and html/mod_breadcrumbs/default.php (1), plus one more elsewhere (JText → Text, JRoute → Route, JFactory → Factory, JModuleHelper → ModuleHelper, JComponentHelper → ComponentHelper, JError::raiseWarning() → new \Exception(…, 404)). These aliases only existed while the Behaviour - Backward Compatibility plugin was on, and Joomla 6 has none of them. The jimport() call in index.php is gone too.
    • The Joomla 3 module-chrome functions in html/modules.php (vmdefault, toggleModule, toggleModule2, slides) are gone; Joomla 4+ reads module chromes only from html/layouts/chromes/, where the four layout files are kept.
    • 16 of the 27 PHP overrides changed (the category, featured and archive article overrides, mod_login, mod_menu, mod_breadcrumbs and the module chromes); the template’s PHP files that stop unless Joomla loads them (defined('_JEXEC') or die) go from 33 to 34.
    • templateDetails.xml version 03.07.2024 5.1.1 → 6.2.0; the version in the template description reads 6.2.0 (2026-11-06). method="upgrade" is kept, so an existing install updates in place.

    Bootstrap 5, fonts and scripts

    • The template now loads Joomla’s bundled Bootstrap 5 (media/vendor/bootstrap/css/bootstrap.min.css) plus the bridge, in place of its own Bootstrap 2 sheets. The bridge is also loaded by component.php (print and pop-up views).
    • Login pop-up rebuilt as a Bootstrap 5 modal (data-bs-toggle / data-bs-target / data-bs-dismiss, .modal-dialog-centered > .modal-content). The old markup used Bootstrap 2’s data-toggle="modal", data-dismiss and an inline display:none. The pop-up’s fields are one height, the Remember Me box and its label sit as one centred pair, and the title is escaped.
    • Font Awesome 4.6.3 (MaxCDN) → 6.5.2 (cdnjs) with the v4 shims, so the template’s existing fa fa-* icons keep working.
    • The print view loads its Google font directly from a stylesheet link with preconnect hints, instead of the WebFontConfig / webfont.js loader script (component.php).
    • The desktop drop-down menus no longer run on Superfish and Supersubs: they use CSS and a small hover script in cs-mobile.js. selectnav.min.js is still loaded and still builds its drop-down, but that panel is hidden on every screen width; the phone menu belongs to cs-mobile.js.
    • jQuery is still loaded, by Joomla (Jquery::framework()), together with jquery.easing.1.3.js and camera.js, because the built-in slideshow is still Camera. js/ goes from 28 files to 8: camera.js, camera.min.js, coloris.min.js, cs-jq-compat.js, cs-mobile.js, cs-module-toggle.js, jquery.easing.1.3.js and selectnav.min.js.

    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_mobileAutoAdvance default to 1 in templateDetails.xml; they were 0). Existing sites keep their saved settings.

    Layout

    • Desktop pages at 1200 px and wider are 1170 px wide, like the other current Energize templates. The previous download’s css/responsive.css fixed the page at 960 px at every width. The header and menu-bar artwork (the 920 to 1000 px background images) is stretched to match. Between 980 and 1199 px the page stays 960 px.
    • Drop-down menus are wide enough for their labels, so items no longer wrap onto two lines.
    • Log-in, registration, password-reset and username-reminder forms on desktop: every field is one 220 px box, the password field and its show-password button together match the username and e-mail fields (the password row used to run about 580 px beside 160 px text fields), and the registration form sits in the same bordered box as the log-in form. On phones all fields are full width.
    • Read more / Learn more buttons (a.button) are 28 px tall again; without the old Bootstrap 2 sheet they collapsed to 17 px. The Page Break pager Next link uses the template’s red instead of Bootstrap 5’s blue.

    Logo and slogan

    • The logo and the slogan both link to the home page (index.php; the slogan link keeps the slogan’s colour and has no underline). The setting is logoLinked; it is on unless you switch the logo link off, also for a template 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.

    Fixed

    • Every 404 was served as a 500 on Joomla 6, and on Joomla 5 whenever the Backward Compatibility plugin was off. The previous error.php called JError and JText (13 calls); when the error page itself fails, Joomla cannot show any error page. error.php now uses the Joomla 4+ API and renders inside the template (header, menus, sidebar, footer and the phone navigation) with a real 404 status. The old page was a standalone XHTML page with no viewport tag.
    • Collapsible module styles (Toggle Module) work. html/layouts/chromes/toggleModule.php had a premature close-tag that left $headerLevel and the opening if( as literal text, so any module given that style took the page down with a PHP parse error. Both chromes (toggleModule and toggleModule2) also ran on MooTools (window.addEvent, Fx.Slide), which Joomla 4+ does not load, so even a working one would not collapse. They now print a show/hide link (data-cs-toggle) and the small built-in js/cs-module-toggle.js (3,203 bytes), loaded from index.php, opens and closes the module.
    • Script errors on every page: orphaned jQuery plug-in calls (selectnav options, supersubs / superfish, the jQuery.browser IE check, imgSizer), most of them in index.php, threw an error on Joomla’s jQuery 3.7 and stopped the script that followed. They are removed.
    • Slideshow controls: Camera calls jQuery 1.x functions that jQuery 3.7 removed; js/cs-jq-compat.js restores them.
    • Login and registration fields are one height, drop-downs included, and the show-password eye sits inside the password field.
    • Pagination arrows: Joomla 4+ prints icon-angle-left / -right / -double-left / -double-right on the Prev / Next / First / Last buttons and the template had no glyph for any of them. They are now mapped to Font Awesome 6 (the password eye, icon-eye, the same way).
    • Featured articles in one column are guarded against Joomla 6’s featured-view grid, which clips a tall intro article to its title.
    • Drop-down menus no longer close before you can reach them: moving the mouse from a menu heading down to its drop-down crossed a gap where neither was hovered. The whole path is now hoverable; the menu’s spacing and appearance are unchanged.
    • Failed font requests: the two IcoMoon @font-face rules in css/template.css pointed at Joomla 3’s media/jui/fonts/ (ten references, removed in Joomla 4), which ended in four failed requests on every page. One is switched off (commented out) and the other has no source files.
    • Print and pop-up views: component.php now has a phone viewport tag and defines the same phEsc() helper as index.php, so it escapes its output.
    • With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

    Removed

    Files removed (49)

    • Bootstrap 2: css/bootstrap.css, css/bootstrap.zip and the css/bootstrap/ folder (bootstrap.css, bootstrap.min.css, bootstrap-extended.css, bootstrap-responsive.css, bootstrap-responsive.min.css, bootstrap-rtl.css, bootstrap-tooltip-extended.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, css/blog.css, js/selectivizr-min.js, js/modernizr.js, js/flexibility.js, js/imgSizer.js, the IE conditional comments in index.php and component.php that loaded them, and the html5.js script tag, which pointed at html5shiv.googlecode.com over plain http.
    • jQuery plug-ins and old copies (js/ 28 → 8 files): jquery-1.8.1.min.js, jquery.noConflict.js, superfish.js, supersubs.js, jquery.mobile.customized.min.js (it throws under jQuery 3.7), jquery.backstretch.min.js, dropkick.js and 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, jquery-eu-cookie-law-popup.js, and the MooTools-era tipz.js and parallax.js.
    • Colour changer and admin script: utils/admin-js.js and utils/js_colourchanger/ (jscolor.js and four images), 6 files in all, replaced by the colour pickers above.
    • Joomla 3 chrome file and stray archives: html/modules.php, js.zip, html/com_content/category/blog_item.zip, and the html/_mod_search/ folder (2 files) that Joomla never loads.

    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 and colour changer: dropdownhandler1, dropheight, dropwidth, dropopacity, dropspeed and colours_handlers. The 16 fields removed in all are these 6 and the 10 social ones.
    • An unused page-width rule in index.php that read a sitewidth setting the template never declared.

    Security

    • Template settings are escaped or validated before they reach the page. index.php had 98 raw echo $this->params->get(…) outputs (occurrences, on 86 lines); 2 remain, the Custom Code fields (headcode and footercode) whose job is to add raw HTML. The rest go through small helpers defined at the top of index.php: phEsc() (text and attributes), phRichText() (the site-name and slogan fields), phCssToken(), phCssNum(), phCssDim(), phCssFont(), phCssSelector(), phCssUrl() and phHexColor() (colours, sizes, fonts and image URLs inside inline CSS), and phJsStr() and phJsLit() (values inside the slideshow’s inline script). Across the whole template, calls to these helpers go from 0 to 133 and htmlspecialchars / escape calls from 37 to 75. A setting like red;}body{background:url(//x) can no longer rewrite the page’s styles.
    • Module titles printed by index.php (the log-in pop-up’s heading among them) and the menu overrides’ titles are escaped; the module chromes escape the module class suffix.
    • Error pages no longer show server details. A missing page used to print the server’s file paths and a technical stack trace. It now shows the normal error page, and a missing article or contact answers with the proper 404 page instead of a 500.
    • The social links open with rel="noopener".

    Quickstart

    The quickstart is a complete Joomla 6.2.0 site with Fluency installed and configured as on the demo. 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 Smart Search index is built (155 links), so the site search returns results from the first visit.
    • The Login module (module 44) is published in the loginform position on all pages, so the log-in pop-up renders and the phone Log in button opens it.
    • The demo slideshow shows on the home page only.
    • The Welcome Module’s “Learn more” link no longer points at another demo’s article (a 404); the sample contact’s picture is a file that exists.
    • The logo link is saved on in the template style (logoLinked). Page-view counters start at zero and the post-install messages are cleared.
    • VirtueMart and K2 are not installed; Fluency is not a shop.

    Package

    • Standalone template: pkg_fluency-6.2.0.zip, a Joomla package (pkg_fluency.xml) that installs the Fluency template (tpl_fluency.zip) and registers it in the package manager. It declares method="upgrade", so an existing Fluency updates in place, and <blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own.
    • Quickstart: the full Joomla 6.2.0 site described above, replacing the Akeeba .jpa quickstart.
    • The template version follows the Joomla release it is built on: 6.2.0.
    Earlier history and version numbering: the previous download was the vendor’s Joomla 3-era package, version 03.07.2024 5.1.1; the rows below cover the releases since 2023. 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.

    Version 09.02.2024 5.0.2

    • Update - Template updated to Joomla 5

    Version 28.11.2023 4.3.4

    • Upgraded - Now compatible with PHP 8.2
    • Upgraded - Now compatible Joomla 4.3.4

    Version 23.11.2023 4.3.0

    • Uploaded Joomla 4.3.0