Fluency Changelog
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’s03.07.2024 5.1.1package, 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 fromindex.php. The previous download had no phone layout:css/responsive.csspinned 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 aselectnavdrop-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-gutteron<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 legacytype="checkbox"fields. The template has no legacy checkboxes left. - New Favicon tab (fieldset
faviconsettings; fieldsfavicon,faviconspacerandfavicontool;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()andphIcoBytes()inindex.php, including an Apple touch icon). Ten new language strings,TPL_FLUENCY_FAVICON_*andTPL_FLUENCY_FAVICONTOOL_*. With thanks to Gianluca, whose favicon question inspired this tool. - A Custom CSS field (
customcss) and support for acss/custom.cssfile. The file is loaded only if it exists and is deliberately not listed intemplateDetails.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.xmlpointed 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 10target="_blank"links had none.
Joomla 6 compatibility files
css/bs2-bs5-bridge.css, revision2026-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-20261031andfluency-std-20261103.js/cs-jq-compat.jsrestores 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 fromindex.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) andhtml/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. Thejimport()call inindex.phpis gone too. - The Joomla 3 module-chrome functions in
html/modules.php(vmdefault,toggleModule,toggleModule2,slides) are gone; Joomla 4+ reads module chromes only fromhtml/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_breadcrumbsand the module chromes); the template’s PHP files that stop unless Joomla loads them (defined('_JEXEC') or die) go from 33 to 34. templateDetails.xmlversion03.07.2024 5.1.1→6.2.0; the version in the template description reads6.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 bycomponent.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’sdata-toggle="modal",data-dismissand an inlinedisplay: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
preconnecthints, instead of theWebFontConfig/webfont.jsloader 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.jsis still loaded and still builds its drop-down, but that panel is hidden on every screen width; the phone menu belongs tocs-mobile.js. - jQuery is still loaded, by Joomla (
Jquery::framework()), together withjquery.easing.1.3.jsandcamera.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.jsandselectnav.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_mobileAutoAdvancedefault to 1 intemplateDetails.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.cssfixed 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 islogoLinked; 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.phpcalledJErrorandJText(13 calls); when the error page itself fails, Joomla cannot show any error page.error.phpnow 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.phphad a premature close-tag that left$headerLeveland the openingif(as literal text, so any module given that style took the page down with a PHP parse error. Both chromes (toggleModuleandtoggleModule2) 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-injs/cs-module-toggle.js(3,203 bytes), loaded fromindex.php, opens and closes the module. - Script errors on every page: orphaned jQuery plug-in calls (
selectnavoptions,supersubs/superfish, thejQuery.browserIE check,imgSizer), most of them inindex.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.jsrestores 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-righton 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-facerules incss/template.csspointed at Joomla 3’smedia/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.phpnow has a phone viewport tag and defines the samephEsc()helper asindex.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.zipand thecss/bootstrap/folder (bootstrap.css,bootstrap.min.css,bootstrap-extended.css,bootstrap-responsive.css,bootstrap-responsive.min.css,bootstrap-rtl.css,bootstrap-tooltip-extended.css), andjs/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 inindex.phpandcomponent.phpthat loaded them, and thehtml5.jsscript tag, which pointed athtml5shiv.googlecode.comover plainhttp. - 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.jsandjquery.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-eratipz.jsandparallax.js. - Colour changer and admin script:
utils/admin-js.jsandutils/js_colourchanger/(jscolor.jsand 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 thehtml/_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,dropspeedandcolours_handlers. The 16 fields removed in all are these 6 and the 10 social ones. - An unused page-width rule in
index.phpthat read asitewidthsetting the template never declared.
Security
- Template settings are escaped or validated before they reach the page.
index.phphad 98 rawecho $this->params->get(…)outputs (occurrences, on 86 lines); 2 remain, the Custom Code fields (headcodeandfootercode) whose job is to add raw HTML. The rest go through small helpers defined at the top ofindex.php:phEsc()(text and attributes),phRichText()(the site-name and slogan fields),phCssToken(),phCssNum(),phCssDim(),phCssFont(),phCssSelector(),phCssUrl()andphHexColor()(colours, sizes, fonts and image URLs inside inline CSS), andphJsStr()andphJsLit()(values inside the slideshow’s inline script). Across the whole template, calls to these helpers go from 0 to 133 andhtmlspecialchars/escapecalls from 37 to 75. A setting likered;}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
loginformposition 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 declaresmethod="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
.jpaquickstart. - 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, version03.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
- New