Skip to content
  • Version 6.2.0.3

    Collapsible modules. Modules set to the template's toggleModule or toggleModule2 style did not open or close: the script needed MooTools, which Joomla 4 and later do not load. It is now plain JavaScript, and toggleModule2 still starts collapsed.

    Login fields on phones. The username and password fields were smaller than 16px on phones, so an iPhone zoomed the page in when one was tapped and did not zoom back out. Login, registration, profile and password-reset fields are now 16px on phones.

    Template Options screen. The icons on the template's Options screen came from Font Awesome 4.6.3 on MaxCDN, which no longer serves it, so they were missing. They now load Font Awesome 6.5.2 with its version 4 name shims from cdnjs.

    Version 6.2.0.2

    Security. The template's menu layouts printed a menu item's note and link exactly as entered, so markup typed into a menu item's Note or Link field reached the page. Both are now escaped, as Joomla's own menu layouts do.

    Colours with transparency. A colour chosen with the colour picker's opacity slider (saved as an 8-digit colour such as #rrggbbaa) was replaced with black. Colours with transparency are now used as chosen.

    Version 6.2.0.1

    Page language. The page had no opening <html> tag, so browsers, screen readers and search engines were not told the page's language or text direction. It now declares both from the site's language settings.

    Version 6.2.0

    Joomla 6.2.0. The Quickstart now installs Joomla 6.2.0 (Joomla 6.2.0 release notes), and the template version is now 6.2.0 to match.

    Error pages. "Page not found" and "access denied" pages now show inside the template, with its header, menus and footer, and fit a phone screen.

    Phones. The sidebar no longer shows an empty "Main Menu" heading (its links are in the phone menu).

    Quickstart. A fresh install no longer lists stale update notices.

    Version 6.1.4.1

    Quickstart fix. The Quickstart no longer fails to install on MySQL hosts with a "prepared statement protocol" error. Thanks to Iryna for reporting this. The template itself is unchanged apart from its version number.

    Quickstart. Removed leftover files from the quickstart's top folder.

    Version 6.1.4

    Joomla 6.1.4. The Quickstart now installs Joomla 6.1.4, a security and bug-fix release (Joomla 6.1.4 release notes), and the template version is now 6.1.4 to match. There are no visual changes. Installing the template update does not update Joomla itself; update Joomla from System → Update → Joomla.

    Version 6.1.3.6

    Fix. After the previous security update, print and email views, popup windows and the VirtueMart checkout step (pages served with tmpl=component) could return an error page. The template's component.php now defines the escaping helper it uses. There are no visual changes. Please update if you installed the previous version.

    Version 6.1.3.5

    Security update. Module, menu and tab titles are now escaped wherever the template writes them into your pages (module headings, title attributes and the mega menu), so a title containing a quote or markup can no longer break out of its place in the page. There are no visual changes. Recommended for all sites.

    Version 6.1.3.4

    Security update. The site name and slogan are now escaped where the template writes them into image alt text, so a quote character in either can no longer break out of the attribute. No visual changes. Recommended for all sites.

    Version 6.1.3.3

    Security update. Every template setting that is written into your pages is now escaped for the place it lands in (HTML, attributes, CSS and JavaScript), so a setting value can no longer break out of its context. The error page now escapes its message and title too. There are no visual changes. Recommended for all sites.

    Version 6.1.3.2

    Fixed a problem where a large logo could fill the whole screen on phones. The stylesheet that keeps this template working with current Joomla was letting the header logo draw at its own full size on small screens instead of scaling it down to fit the space, so a logo wider than the phone screen — common, since logos are usually exported at 1500 pixels or more to stay sharp — pushed the header out and showed visitors a giant close-up of one or two letters instead of the site. Logos now scale down to fit on every screen size, and a logo already small enough to fit is displayed exactly as before. Update the template to pick this up; if you built your site from the Quick Start, a rebuilt one is on your downloads page.

    Version 6.1.3.1

    Maintenance release.

    • Fixed: paginated pages returned a 500 error on PHP 8. Any page with pagination — on a shop template that includes the category listing — could fail with a server error instead of displaying. The cause was a leftover test in the pagination override that is invalid on PHP 8; the dead code has been removed.

    Both the template package and the Quick Start have been rebuilt for this release. Download the latest from your member area.

    Version 6.1.3

    First Joomla 6 native release, and the first release of Clarity from Cybersalt. Clarity has been brought forward from the previous download (31.07.2024 5.1.2, whose manifest also carried a second <version>3.0.1</version>; the last changelog entry was 4.2.8 from April 2023) to Joomla 6.1.3 + PHP 8 + Bootstrap 5. Every Joomla 3 class call has been replaced (51 → 0), so the template no longer needs Joomla’s Behaviour – Backward Compatibility plugin. Clarity keeps its Bootstrap 2 column classes (spanN) and renders on Joomla’s Bootstrap 5 through a compatibility stylesheet, so existing module and article markup keeps its layout. This release adds a phone layout with a menu button and slide-out menu, a 1440 px desktop page, a Swiper slideshow in place of camera.js, Font Awesome 6, current social networks, a colour picker, a favicon tool and Joomla’s own on/off switches. jQuery itself still loads through Joomla’s framework call, but index.php no longer contains any jQuery code. Compared with the previous download: 353 → 325 files, 11 added, 39 removed, 13 modified. The template version now matches the Joomla version it ships with.

    Added

    Bootstrap 5 compatibility layer

    • New css/bs2-bs5-bridge.css (7,106 lines, about 358 KB), added to the document head after Joomla’s Bootstrap 5 stylesheet, template.css and Font Awesome, with a version marker so changes reach browsers straight away. It lays out Clarity’s Bootstrap 2 classes on Bootstrap 5: the .row-fluid / .spanN grid and offsets, hidden-phone / visible-phone, Bootstrap 2 buttons and form classes, and the modal shell.
    • The bridge maps about thirty of Joomla’s own icon-* classes onto Font Awesome 6, among them icon-eye / icon-eye-slash (password show/hide) and icon-angle-left, -right, -double-left and -double-right (pagination). The original icon set had none of them.
    • New js/cs-jq-compat.js, loaded on every page: restores three jQuery 1.x calls that Joomla’s jQuery 3 dropped (.live(), .offset() on the window, and .load(fn) as a load-event shortcut), so older scripts added to a site keep working.

    Phone layout

    The previous download held a fixed 960 px page (890 px content box) at every screen size. Clarity now has a phone layout up to 767 px, driven by the new js/cs-mobile.js and the bridge:

    • The site name and slogan sit in a bar at the very top, title above slogan, with a 44×44 px menu button at its right edge. The bar is a flat black band that runs to both edges of the screen.
    • The menu button opens a slide-out menu built from the site’s own menu, full height. Parent items carry a “+” control that opens their sub-menu in place instead of leaving the page.
    • A row of 44 px controls under the brand bar, among them Search, Follow us (the social links) and Log in, spread evenly across the bar.
    • Log in opens a dialog over the dimmed page holding the site’s login module, sized to the screen, with 16 px input text so phones do not zoom in on a field. The copied form gets its own cs-lp- ids so the page’s ids stay unique.
    • Search opens a full-width panel under the header with a 44 px field at 16 px text.
    • The search, social and log-in panels all close the same way: tap outside them, tap the dimmed background, or press Escape.
    • The page cannot be dragged sideways, and the menu and panels are sized to the screen.
    • Columns stack at full width. Account, registration and contact forms put the label above the field, with full-width fields and a full-width submit button. Page and module headings share the paragraphs’ side inset, and the article details line (Written by, Category, Published, Hits) wraps instead of running off the screen.
    • The hover-only tools widget is hidden on phones; its social links are in the control row.
    • The phone controls take Clarity’s own blue (--cs-accent, read from the template at runtime), with the icon colour on top chosen for contrast.

    Slideshow — Swiper 11

    • The built-in slideshow runs on Swiper 11 (loaded from cdn.jsdelivr.net/npm/swiper@11, only when the slideshow is switched on) instead of camera.js. The slide markup is now .swiper > .swiper-wrapper > .swiper-slide, each slide with its background image and a .ph-slide-caption.
    • Existing slideshow settings carry over: cam_time → autoplay delay, cam_transPeriod → transition speed, cam_autoAdvance, cam_hover (pause on hover), cam_pagination and cam_navigation, with a cross-fade between slides. cam_height, which camera.js read as a percentage of the slideshow’s width, is applied as a CSS aspect-ratio.

    Colour picker and Options screen

    • New custom field fields/colorpicker.php with the bundled Coloris picker (js/coloris.min.js, css/coloris.min.css, js/coloris.LICENSE.txt). All 24 colour settings (e.g. bodybackground, bodytextcolor, buttonscolor, buttonscolorhover, botmodsa, botmodstxt) are now type="colorpicker", with a live swatch, instead of text boxes that needed a typed hex code.
    • New fields/adminui.php: the template’s Options screen follows Joomla’s light or dark admin theme, panel backgrounds and text alike.

    Favicon tool

    • New Favicon tab (fieldset faviconsettings) with a media field (favicon) and a favicon tool (fields/favicontool.php) that builds the favicon set from one image. With thanks to Gianluca, whose favicon question inspired this tool.
    • index.php outputs the set through two new helpers, phFaviconSet() and phIcoBytes(): a 16/32/48 px .ico, 32, 192 and 512 px PNG icons and a 180 px Apple touch icon.
    • 10 new language strings in en-GB.tpl_clarity.ini (68 → 78), e.g. TPL_CLARITY_FAVICON_TAB, TPL_CLARITY_FAVICON_LABEL, TPL_CLARITY_FAVICONTOOL_CREATE.

    Modern social network support

    • Eight new social services, each with a URL field and an on/off switch: Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest, Discord (fields instagram/instagramON … discord/discordON).
    • The social links (#social-links) cover 13 networks and draw Font Awesome 6 brand icons (fa-brands fa-x-twitter, fa-facebook-f, fa-instagram, fa-threads, fa-bluesky, fa-mastodon, fa-linkedin-in, and so on), each with a title naming the network.
    • Twitter is now X: labelled “X (formerly Twitter)” with the X logo. It keeps its twitter setting name, so an existing address carries over.

    Helpers in index.php

    • Five new helper functions: phEsc(), phCssDim(), phHexColor(), phFaviconSet() and phIcoBytes(). The old addLoadEvent() function is gone. Escaping details are under Security.

    Changed

    Joomla 6 platform

    • Built for Joomla 6.1.3. templateDetails.xml declares <targetplatform name="joomla" version="6.1" /> and <extension version="6.1"> (was 3.0), so the installer and update system report it correctly.
    • The template loads Joomla’s bundled Bootstrap 5 (/media/vendor/bootstrap/css/bootstrap.min.css plus Bootstrap::framework()) instead of its own Bootstrap 2 stylesheets. In index.php the 10 .row-fluid rows are now .row; the 40 spanN column classes stay and are laid out by the bridge.
    • The log-in dialog for the login module position uses Bootstrap 5 modal markup: .modal-dialog.modal-dialog-centered > .modal-content, data-bs-toggle / data-bs-target / data-bs-dismiss, and a native btn-close close button. Joomla’s system-message alert closes the same way (data-bs-dismiss="alert"). Bootstrap 2 marked an open dialog .in and Bootstrap 5 marks it .show; the bridge handles both, so the dialog opens visibly.
    • templateDetails.xml: the Joomla 2.5 <!DOCTYPE install> line is gone; the two <version> tags (3.0.1 and 31.07.2024 5.1.2) are one, 6.1.3, matching the Description panel (6.1.3 (2026-08-20)), index.php’s @version and the package; <creationDate> 29/11/2012 → 2026-08-20; author and copyright now read Cybersalt Consulting Ltd / energizethemes.com. method="upgrade" is kept, so an existing install updates in place.

    J3 → J5/J6 API migration

    • All 51 Joomla 3 static calls replaced (JFactory → Factory, JText → Text, JHtml → HTMLHelper, JRoute → Route, JError::raiseWarning() → new \Exception(), and the rest). These aliases exist only while Joomla’s backward-compatibility plugin is on.
    • Files converted (calls before → after): html/mod_login/default.php 20 → 0, error.php 13 → 0, index.php 7 → 0, html/pagination.php 3 → 0, html/mod_menu/default.php 2 → 0, html/_mod_menu/default.php 2 → 0, html/mod_newsflash/_item.php 2 → 0, html/mod_breadcrumbs/default.php 1 → 0, html/mod_search/default.php 1 → 0. In all, 7 of the 38 PHP overrides under html/ were modified.

    Template Options screen

    • 51 field type changes in templateDetails.xml. The 27 remaining legacy class="switch" checkboxes (e.g. RSSON, H1TitleImgText, H2TitleImgText, cam_autoAdvance, cam_hover, cam_fx_multiple_on) are now Joomla’s native on/off switchers (layout="joomla.form.field.radio.switcher"); with the eight new social switches the template has 35 switchers and no checkboxes. The 24 colour settings changed from text to colorpicker.
    • Fields 111 → 120, tabs 7 → 8 (the new Favicon tab).

    Wider desktop page

    • The page is now 1440 px wide instead of 960 px. The header, menu bar, slideshow stage and content wrappers all follow the new measure and finish on one edge.
    • The sidebar is a fixed 300 px column with a 36 px gap, and the article area takes the rest (1066 px at full width). It was a third of the page, so widening the template would otherwise have handed it 150 px it did not need. Its 40 px inner right padding is gone, so modules set to full width fill the column.
    • The three Custom Bottom positions are equal widths (453 px each).
    • The desktop header bar’s artwork, a graphic drawn for the 960 px bar, is scaled to fill the bar.
    • The footer copyright (#fr, a fixed 400 px box) sizes to its text and stays on one line.
    • Dividers are CSS rules, not tiled graphics. The line between the sidebar and the content (col-sep2.gif, pinned 42 px into a fixed tile) is a hairline in the gutter; the lines between module positions (pinned at 268 px) are hairlines between columns that skip the first one; the rules above the content and the footer (col-line.gif) are border-top. All use the same rgba(0,0,0,.10), and on a phone, where the columns stack, the sidebar divider becomes a horizontal rule.

    Menus, fonts and icons

    • Drop-down menus use the new js/menu-vanilla.js (plain JavaScript, loaded deferred) instead of the jQuery Superfish/Supersubs plug-ins, with a 500 ms grace period so a menu does not snap shut while the pointer crosses a gap.
    • The Cuprum web font loads through a plain Google Fonts stylesheet link in index.php and component.php instead of the WebFontConfig JavaScript loader (WebFontConfig 2 → 0).
    • The front end loads Font Awesome 6.5.2 (all.min.css) with v4-shims.min.css from cdnjs, instead of Font Awesome 4.6.3 from MaxCDN, so fa fa-* icons already in your content keep working.
    • The desktop tools widget’s hammer-and-wrench image is replaced with a share glyph drawn inline (an SVG in the stylesheet, no sprite or outside host). The widget’s size and fly-out are unchanged.
    • Stylesheets carry version markers (template.css and the bridge a time stamp; text.css, layout.css, nav.css, typography.css, responsive-template.css and print.css the file’s modification time), so a template update shows at once instead of waiting for browser caches to expire.

    Template overrides

    • html/mod_login/default.php: $type = $type ?? 'login'; and html/mod_breadcrumbs/default.php: $moduleclass_sfx = $moduleclass_sfx ?? ''; (Joomla 5 and 6 no longer pass these variables to the layouts).
    • html/mod_menu/default.php: the inline selectnav('nav', …) call is removed; the phone menu replaces it.

    Fixed

    • Error pages failed with Joomla’s backward-compatibility plugin switched off, as it is on Joomla 6. error.php used JError::raiseWarning() and JText, which do not exist without that plugin, so a “page not found” could not be shown. It now uses the Joomla 4+ API.
    • Browser console errors on every page load are gone; the front end now reports none.
    • Pagination arrows (First, Previous, Next, Last) were blank, because Joomla 4 and later emit icon-angle-* classes the template never styled. They now draw.
    • The password show/hide “eye” on the log-in and registration forms was an empty square and wrapped onto its own line. It now draws in the colour of the button it sits on and stays beside its field.
    • Four failed font requests on every page. template.css pointed its IcoMoon @font-face sources at media/jui/fonts/, which Joomla 4 removed; those sources are gone (media/jui references 10 → 0).
    • Joomla 6’s “Sign in with a passkey” button drew its icon at full container size, a large black graphic across the log-in area. Inline icons of that kind are now sized to their button and take its colour.
    • “Undefined variable” warnings from the login module ($type) and the breadcrumbs module ($moduleclass_sfx) on Joomla 5 and 6.
    • The slideshow overflowed tablets and phones. Its stage carried an inline width:890px; it is now capped to its container at every width.
    • The desktop menu did not fit tablet screens (a 960 px bar in a 768 px window, overflowing by over 200 px on every page). Between 768 and 979 px it is now constrained to the window and allowed to wrap.
    • The search box was too small to use on a phone (about 170 px wide with a 29 px field). Phones now get the full-width search panel described under Phone layout.
    • Fixes from a maintenance pass across our templates:
      • Tall single-column featured articles are no longer clipped to their title in Joomla 6’s featured view (.blog-featured .blog-items / .blog-item).
      • The search button sits flush with its search box instead of floating away or dropping below it.
      • The IcoMoon font requests and the pagination arrows above.
      With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

    Removed

    Legacy scripts and stylesheets

    • Scripts no longer loaded: html5.js (html5shiv from googlecode.com), selectivizr-min.js, modernizr.js, imgSizer.js, selectnav.min.js, superfish.js, supersubs.js, jquery.mobile.customized.min.js, jquery.easing.1.3.js, camera.min.js and camera.js (both were loaded), and Google’s webfont.js.
    • Stylesheets no longer loaded: css/bootstrap/bootstrap.min.css, bootstrap-responsive.min.css and bootstrap-extended.css, css/bootstrap.css, css/responsive.css, camera.css, Font Awesome 4.6.3 from MaxCDN, and the Internet Explorer stylesheets with their conditional comments in index.php.
    • All 7 inline jQuery calls in index.php are gone (7 → 0): the Superfish/Supersubs set-up, the social panel’s .closeMenu handler, the camera.js set-up and the jQuery.browser shim.

    Files deleted from the template (39)

    • JavaScript (14): jquery-1.8.1.min.js, jquery.noConflict.js, jquery.mobile.customized.min.js, jquery.easing.1.3.js, camera.js, camera.min.js, superfish.js, supersubs.js, hoverIntent.js, selectnav.min.js, modernizr.js, selectivizr-min.js, flexibility.js, imgSizer.js, plus the archive js.zip.
    • Stylesheets (14): the Bootstrap 2 folder css/bootstrap/ (7 files), css/bootstrap.css, css/bootstrap.zip, css/responsive.css, css/camera.css, css/ie.css, css/ie6.css, css/ie8.css.
    • The old admin helpers in utils/ (10 files): the jscolor colour picker (utils/js_colourchanger/: jscolor.js, arrow.gif, cross.gif, hs.png, hv.png), the jQuery admin script utils/admin-js.js, the switch images switch-background.png and switch-mask.png, the unused bss_fontchanger.php and index.html. The colours_handlers field that loaded the jscolor picker is gone with them.
    • Older plug-in files that nothing loads (e.g. dropkick.js, jquery.backstretch.min.js, owl.carousel.min.js, parallax.js, tipz.js) remain in js/, which now holds 20 files (was 29).

    Retired social services

    • Five social slots removed with their switches: Google+ (gplus), MySpace, StumbleUpon, Digg and Blogger.

    Security

    • Template settings are HTML-escaped where index.php writes them into the page: 84 phEsc() call sites, covering every social link address, the site-name and slogan text, images, positions, sizes and colours, the colour settings in the inline <style> block, the content font size and site width, the theme preset name, the slideshow caption class and the favicon links.
    • The header height (topheight) is validated as a CSS length through phCssDim().
    • The 12 outbound social links carry rel="noopener", so a linked page cannot control the window it was opened from.
    • htmlspecialchars/escape calls across the template rose from 37 to 44.
    • The template no longer relies on Joomla’s Behaviour – Backward Compatibility plugin, which sites are encouraged to switch off.

    Quickstart Installer

    The Quickstart (Clarity-6.1.3-Quickstart.zip) is a complete Joomla 6.1.3 site with Clarity installed as the active template and the demo content. It installs through Joomla’s own web installer.

    • Bundled extensions: Akeeba Backup 10.3.7, Weblinks 5.1.0, MCP for Joomla 2.4.0 and StageIt 5.7.3.
    • Only the templates the site uses are included: cassiopeia, cassiopeia_extended, clarity and system for the site, atum for the administrator. A leftover expression template style from the demo’s history is gone from the template list.
    • Joomla’s Behaviour – Backward Compatibility plugin is off and Behaviour – Backward Compatibility 6 is on.
    • Joomla’s retired Search component, module and package are switched off and their files are not shipped. The demo’s “Search” menu item now opens Smart Search and keeps its label; the old Search menu item is in the trash.
    • Joomla’s Statistics plugin is set to never send data.
    • A clean starting state: the demo articles’ view counters were reset (18 views in total across the 68 articles), 11 of the 15 post-installation messages are hidden (Joomla’s action-log, privacy, multi-factor and automated-update advisories stay), the 17 template overrides are marked as reviewed (no “changes found” warning), and the copyright years in the demo modules read 2026 (they were a mix of 2022 to 2025).

    Package format

    • Standalone template: pkg_clarity-6.1.3.zip, a new Joomla package (pkg_clarity.xml) that installs the clarity template from packages/tpl_clarity.zip and registers it in the package manager. It declares method="upgrade", so an existing Clarity updates in place, and <blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own.
    • Quickstart bundle: Clarity-6.1.3-Quickstart.zip, a complete Joomla 6.1.3 install with Clarity pre-loaded as the active template. It is for new sites, not an upgrade for an existing one.
    Version numbering and later releases: from this release the first three digits of Clarity’s version match the Joomla release it is built for (6.1.3 = Joomla 6.1.3); a later fix on the same Joomla release adds a fourth digit (6.1.3.1). The previous download carried 31.07.2024 5.1.2. In this release colour and other settings written into the inline styles are HTML-escaped rather than escaped for CSS; escaping for each context arrived in 6.1.3.3. The pagination override’s PHP 8 error was fixed in 6.1.3.1.

    Version 01.04.2023 4.2.8

    • Fixed - Template updated to be compatible with Joomla 4.2