Motion Changelog
Version 6.2.0.4
Second phone menu. The second phone menu button repeated the main menu; it now shows the site's Main Menu, with all its levels, on every page.
Phone header. The phone menu script is updated to the current version: opening a phone panel no longer dims the logo and menu buttons, and tapping outside an open panel closes it.
Login and registration forms. The username and other required boxes were 160px wide and 20px tall beside a full-width password field. Every field now takes the full row at the same 30px height, level with the show-password button.
Phone headings. On the contact page the page heading started 32px in on a phone (two paddings stacked); it now lines up with the text at 20px.
Footer. The template tested its two footer positions with a Joomla 3 expression that Joomla 4 and later read as a single position name, so the test always failed; it now checks each position, and on desktop the copyright and the footer menu sit side by side as designed. The footer's Latest News and Most Read lists showed nothing (a Joomla 3 empty category filter) and now list articles (Quickstart).
Print view on phones. The print view had no mobile viewport, so on a phone it showed a shrunken desktop page; it now fits the screen.
Error page. An error caused by a missing item no longer prints the server's file paths.
Defaults for a fresh install. The site name / logo now links to the home page and the slideshow is switched on with autoplay on desktop and phones (
logoLinked,cam_turnOn,cam_autoAdvance,cam_mobileAutoAdvancedefault to on). Existing sites keep their saved settings.Quickstart. The search box returned No Results for everything (the search index was empty); it is built. The sample Atomic, Beez 20 and Beez 5 category pages showed broken thumbnails of Joomla 3 templates; the broken images are removed.
Shared stylesheet. The template's Bootstrap compatibility stylesheet is updated to the current version used across our templates. Your own template settings are not changed.
Removed. 18 JavaScript and CSS files nothing loads (193 KB), among them jQuery 1.8.1, Superfish, Modernizr, a MooTools tooltip script and old Internet Explorer stylesheets; an override folder Joomla never reads (
html/com_content_); 5 template options nothing read (old drop-down menu effect settings and similar); template code that read settings the template never offered; stylesheet references to 4 images that do not exist, and links to stylesheets that do not exist.Version 6.2.0.3
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.
Quickstart. A fresh install no longer lists stale update notices.
Version 6.1.4
First Joomla 6 native release. Motion has been brought forward from the previous Joomla 5 download (03.07.2024 5.1.1) to Joomla 6.1.4 + Bootstrap 5. Motion keeps its own Bootstrap 2 layout classes and renders on Joomla’s Bootstrap 5 through a compatibility stylesheet, so existing module and article markup keeps its layout. This release brings back the built-in slideshow, adds a full phone layout, a real colour picker for every colour setting, a favicon tool, a Custom CSS setting and current social networks. Every Joomla 3 API call has been replaced, and every template setting written into the page is now escaped. Across the template, 15 files were added, 20 removed and 38 modified (226 → 221 files). The template version now matches the Joomla version it ships with.Added
Bootstrap 5 compatibility layer
- New
css/bs2-bs5-bridge.css: maps Motion’s Bootstrap 2 grid (.row-fluid,.spanN, including a.spanNplaced inside a Bootstrap 5.row), thehidden-phone/visible-phoneutilities, button and form classes and the dialog shell onto Joomla’s bundled Bootstrap 5. It is loaded as the last stylesheet in the head, with a file-time version marker, so it sits in the right place in the cascade. - The bridge maps Joomla’s own
icon-*classes onto Font Awesome 6, so the password show/hide eye on the login and registration forms and the Previous / Next / First / Last pagination arrows draw real glyphs instead of empty squares. - New
js/cs-jq-compat.js: restores three jQuery 1.x calls that Joomla’s jQuery 3.7 removed but the bundledcamera.min.jsslideshow still uses (.live(),.offset()on the window, and.load(fn)as a load-event shortcut). The minified slideshow file itself is unchanged.
Phone layout
- New
js/cs-mobile.js: on phones (up to 767 px) Motion gets a compact header with a menu button that opens a slide-out menu built from the site’s main menu, with arrows that open each submenu. It replaces the oldselectnavdrop-down menu. - A phone toolbar under the header with five 44×44 px buttons: Section menu, Log in, Register, Search and Follow us (the social links). The buttons take the template’s accent colour, the same on every page.
- The phone search box and the login and registration form fields use a 16 px font and a 44 px height, so iPhones do not zoom the page when you tap into them.
- Slideshow text now shows on phones, as a compact full-width bar across the bottom of the slide (12 px text). Before, Motion hid the slideshow caption on phones.
- On account pages (login, registration, password reset), phones show the page content first, with only the breadcrumbs above it.
- The page cannot be pushed sideways on a phone, and the menu drawer and search and social panels are sized to the screen.
Colour picker
- New custom field
fields/colorpicker.phpwith the bundled Coloris picker (js/coloris.min.js,css/coloris.min.css,js/coloris.LICENSE.txt). All 77 colour settings are nowtype="colorpicker", with a live swatch and a picker that ships with the template. - New
fields/adminui.php: a hidden field that styles the template’s Options screen, so help banners such as the Favicon introduction run across the top of the tab instead of being squeezed into the narrow label column.
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. Without a chosen image, the template’s ownfavicon.icois used. With thanks to Gianluca, whose favicon question inspired this tool. index.phpoutputs the favicon links (a 32×32 tab icon and a 180×180 Apple touch icon) through two new helpers,phFaviconSet()andphIcoBytes().- 10 new language strings in
en-GB.tpl_motion.ini(71 → 81), e.g.TPL_MOTION_FAVICON_TAB,TPL_MOTION_FAVICON_LABEL,TPL_MOTION_FAVICONTOOL_CREATE.
Custom CSS that survives updates
- New Custom CSS setting (
customcss) on the Header & Footer Custom Code tab. It is stored in the database and added straight after the template’s own stylesheets, so it overrides them and a template update never touches it. - For larger stylesheets,
index.phpalso loadscss/custom.csswhen that file exists. The file is not part of the package, so an update cannot overwrite or remove it.
Modern social network support
- Eight new social services, each with an on/off switch and a URL field: Instagram, YouTube, Pinterest, Threads, TikTok, Bluesky, Mastodon, Discord (fields
instagram/instagramON…discord/discordON). With Facebook, LinkedIn, Vimeo, X and RSS that makes 13. - The social links now draw Font Awesome 6 brand icons (
fa-brands fa-*,fa-solid fa-rss) with a screen-reader label for each, and external links open withrel="noopener". Twitter is now X (“X (formerly Twitter)”,fa-x-twitter); its setting keeps the field nametwitter, so an existing URL carries over.
Sample-content images
- New
images/legacy-bluestork/with the five Joomla 2.5 header icons (icon-48-component.png,icon-48-module.png,icon-48-plugin.png,icon-48-language.png,icon-48-themes.png) used by the sample-data category descriptions. See Fixed.
Security helpers
- 13 new helper functions in
index.php:phEsc(),phHexColor(),phCssDim(),phCssNum(),phCssFont(),phCssSelector(),phCssToken(),phCssUrl(),phJsStr(),phJsLit(),phRichText(),phFaviconSet(),phIcoBytes(). Each is declared insidefunction_exists();component.phpanderror.phpcarry the ones they need. Details under Security.
Changed
Joomla 6 platform
- Built for Joomla 6.1.4.
- The front end renders on Joomla’s bundled Bootstrap 5 (
/media/vendor/bootstrap/css/bootstrap.min.css, plusbootstrap.rtl.min.cssfor right-to-left sites) and loads Joomla’s Bootstrap 5 scripts, throughcss/bs2-bs5-bridge.css. Motion’s owncss/bootstrap.cssandcss/responsive.cssstill load before it. - The login dialog is a Bootstrap 5 modal:
data-bs-toggle/data-bs-targetto open it,.modal-dialog-centered, a.btn-closebutton anddata-bs-dismiss="modal"on the Close button (before: the Bootstrap 2b-modal hide fademarkup withdata-toggle/data-dismiss). The close button on system messages usesdata-bs-dismiss="alert". templateDetails.xmlversion03.07.2024 5.1.1→6.1.4, with the Template Version shown in the Details panel set to6.1.4 (2026-10-05);method="upgrade"kept, so an existing install updates in place.
J3 → J5/J6 API migration
- All 234 Joomla 3 static calls removed (
JText→Text,JHtml→HTMLHelper,JRoute→Route,JFactory→Factory,JModuleHelper→ModuleHelper,JComponentHelper→ComponentHelper,JPluginHelper→PluginHelper,JError::raiseWarning(404, …)→new \Exception(…, 404)). These aliases exist only while Joomla’s Behaviour – Backward Compatibility plugin is enabled, and not at all in Joomla 6. - Template overrides converted (calls before → after):
html/mod_login/default.php22 → 0;html/mod_menu/default.php2 → 0;html/mod_breadcrumbs/default.phpandhtml/mod_search/default.php1 → 0 each.- The spare
html/com_content_/article override set (not used by Joomla while the folder name ends in an underscore, kept so it can be switched on):featured/_default_item.php38,category/blog_item.php36,article/default.php27,category/default_articles.php27,archive/default_items.php25,archive/default.php6,category/blog.php,blog_children.php,blog_links.php,default_children.php,categories/default.phpandfeatured/_default_links.php4 each,category/default.php3,featured/default.php2 → 0. The removedbehavior.tooltipcall incategory/default_articles.phpis gone too. - Plus
index.phpanderror.php.
- The menu overrides
html/mod_menu/default_component.php,default_separator.phpanddefault_url.phpread the menu item’s settings through$item->getParams()instead of$item->params. See Fixed. - In all, 32 of the 44 PHP overrides under
html/were modified.
Template Options screen
- 104 field type changes in
templateDetails.xml. The 33 legacyclass="switch"checkboxes are gone; settings such asRSSON,H1TitleImgText,H2TitleImgTextandcam_autoAdvancenow use Joomla’s native on/off switchers (36 in all, counting the eight new social switches). The 77 colour settings (e.g.bodybackground,bodytextcolor,buttons_bg,article_info_link_color) changed fromtexttocolorpicker. - Fields 164 → 174, fieldsets 7 → 8. Tab names no longer end in “Settings” (Drop Down Menu, Built-in Slideshow, Theme, Header & Footer Custom Code).
Fonts and icons
- The Google Fonts
WebFontConfigJavaScript loader (webfont.jsfromajax.googleapis.com) is replaced by a direct Open Sans stylesheet link withpreconnecthints anddisplay=swap(WebFontConfig1 → 0). - The front end loads Font Awesome 6.5.2 (
all.min.css) withv4-shims.min.css, sofa fa-*markup keeps working alongside the new icons.
Menus and background without old jQuery plug-ins
- Drop-down menus open on hover through a small built-in script (mouseenter/mouseleave with a 500 ms grace period, keyed off the template’s existing
.sfHoverstyles) instead of the Superfish/Supersubs plug-ins. - The page background image is set with CSS
background-size: coverinstead of Backstretch. - The
selectnav()call inhtml/mod_menu/default.phpis gone; the phone drawer replaces it. - jQuery itself still loads, for the slideshow and the side-panel menu.
Layout
- On phones the page has no 20 px side gutter: the header, slideshow and footer use the full screen width, and content blocks keep their own inset.
- Joomla’s page numbers wrap onto a second line on phones instead of running off the screen.
- Breadcrumb text (“You are here:”, the separator and the current page) is lighter on its dark bar:
#d4d4d4instead of#2d2d2don#4b4b4b(contrast 1.58:1 → 5.89:1). - New stylesheets and scripts (
bs2-bs5-bridge.css,cs-jq-compat.js,cs-mobile.js,custom.css) carry a file-time version marker, so changes to them show straight after an update.
Fixed
- The built-in slideshow did not load on Joomla 5 and 6: it sat on its loading spinner, because
camera.min.jscalls.live(), which Joomla’s jQuery 3.7 no longer has.js/cs-jq-compat.jsrestores it, and the slideshow and its controls run again. - Error pages. The Joomla 5 download’s
error.phpusedJError::raiseWarning()andJText, so with the backward-compatibility plugin off (and always on Joomla 6) every “page not found” became a server error. (The Joomla 6.0.0 download switched the template’s error page off by renaming iterror_.php.)error.phpis back and uses the Joomla 4+ API, has a viewport tag, andcss/presets/style-error.csslets the error box fit a phone screen with a 20 px margin instead of a fixed 960 px page. It no longer requestscss/template_rtl.css, which does not exist. - Pages could fail with a server error on Joomla 6 when a menu contained an external link, separator or alias item (the logged-in User Menu has them): the menu overrides read
$item->params, which Joomla 6 no longer allows. They now use$item->getParams(). - JavaScript errors on every page load are gone:
jquery.mobile.customized.min.jsthrew under Joomla’s jQuery 3.7, and theselectnav()call in the menu override threw once that script was retired. Neither is loaded any more. - Drop-down menus closed before the mouse reached them. Moving from a menu heading down to its drop-down crossed a gap where nothing was hovered. The whole path is now hoverable; the menu’s spacing and appearance are unchanged.
- The login dialog could open invisible (page dimmed, nothing to see) because Motion’s Bootstrap 2 CSS hides any
.fadeelement that is not marked.in, while Bootstrap 5 marks an open dialog.show. The bridge now shows it, and the dialog closes and reopens cleanly. - Category pages in the sample content showed broken images: five category descriptions (Components, Modules, Templates, Languages, Plugins) pointed at
administrator/templates/bluestork/images/header/, an admin template removed in Joomla 3. They now point at the copies intemplates/motion/images/legacy-bluestork/. - The colour settings were plain text boxes on Joomla 5 and 6: the jscolor loader never ran, so a colour could only be changed by typing its hex code. All 77 now have the colour picker.
- PHP 8 “undefined variable” warnings in
html/mod_login/default.php($type) andhtml/mod_breadcrumbs/default.php($moduleclass_sfx), which Joomla’s module dispatcher no longer passes, now have fallbacks. - Fixes from a maintenance pass across our templates:
- Pagination arrows were empty squares (Joomla’s
icon-angle-left/-right/-double-left/-double-righthad no glyph); they now draw. - Featured-article intro text is no longer clipped to its title in a one-column featured layout (
.blog-featured .blog-items.columns-1).
- Pagination arrows were empty squares (Joomla’s
Removed
Bootstrap 2 copies
- The bundled Bootstrap 2 files in
css/bootstrap/are deleted (bootstrap.css,bootstrap.min.css,bootstrap-responsive.css,bootstrap-responsive.min.css,bootstrap-extended.css,bootstrap-rtl.css,bootstrap-tooltip-extended.css), along with thecss/bootstrap.ziparchive.
Legacy scripts and stylesheets no longer loaded
- Scripts:
superfish.js,supersubs.js,jquery.backstretch.min.js,jquery.mobile.customized.min.js,selectnav.min.js,modernizr.js,selectivizr-min.js, plus the remotehtml5.js(googlecode) andwebfont.js. The local files remain injs/but nothing loads them. - The main layout’s Internet Explorer support: the conditional
<html>classes, thelt IE 9script block, andie.css,ie6.cssandie9-10.css.
Old colour picker and switch images
utils/js_colourchanger/(jscolor.js,arrow.gif,cross.gif,hs.png,hv.png) and thecolours_handlersfield that loaded it.utils/admin-js.js(a Joomla 3 admin script with a MooToolsaddEventcall) and the old switch imagesutils/images/switch-background.pngandswitch-mask.png.utils/bss_fontchanger.php.
Archives left in the overrides
html/com_content.zip,html/com_content/category/blog_item.zipandhtml/com_content_/category/blog_item.zip.
Retired social services
- Five social slots removed with their switches: Google+ (
gplus), StumbleUpon, Digg, MySpace, Blogger.
Security
- Every template setting written into the page is escaped for where it appears. 164 places where the template printed a setting raw now go through the new helpers (176 call sites):
phEsc()for HTML text and attributes, including every social linkhrefand the login-dialog title.phCssToken(),phCssNum(),phCssDim(),phCssFont(),phCssSelector(),phCssUrl()andphHexColor()for values inside inline<style>, including the colour settings and the colours passed tohex2rgb().phJsStr()andphJsLit()for values inside inline JavaScript (the slideshow options and the background image).
- Site-name and slogan fields go through
phRichText(): formatting markup is kept, but scripts, styles, iframes andon*event handlers are stripped. The login module’s pre-text is filtered the same way. - The error page escapes the error message and page title it prints, and prints the error code as a number.
- Module titles, module class suffixes and the menu tag id are escaped in
html/modules.php, theslides,vmdefaultandvmdefaultBOLDmodule chromes,html/mod_custom/default.php(including its background-image URL),html/mod_menu/default.phpandhtml/mod_breadcrumbs/default.php, and in thecom_contentarchive, blog, featured and category overrides.htmlspecialchars/escape calls across the template rose from 81 to 127. - The theme preset name in
component.phpis restricted to a plain CSS token before it is used in a stylesheet path.
Quickstart Installer
The Quickstart is a complete Joomla 6.1.4 site with Motion installed as the active template, with the demo content. Motion is not a VirtueMart template.
- Bundled extensions: Joomla 6.1.4, Akeeba Backup 10.4.0, MCP For J 2.7.5, StageIt 5.7.3.
- Only the templates the site uses are included: the
templates/folder holdscassiopeia,cassiopeia_extended,motionandsystem. The four Joomla 2.5 template styles that were not on disk (atomic,beez_20twice,beez5) are gone, and the 18 menu items that pointed at them use the site’s default style. - Extension records for components and plug-ins whose files are not in the Quickstart (
com_search,com_weblinks,mod_search,mod_weblinks, search/finder plug-ins, FOF, PHPMailer and SimplePie) were dropped, so they no longer appear in the Extensions manager. - The demo’s template style shows X and Facebook links and carries no settings for the retired networks. The footer copyright reads 2026.
- Joomla’s Statistics plugin is off and set to never send data.
- A clean starting state: the action log is empty, and of Joomla’s 13 post-installation messages only four stay switched on (privacy, multi-factor authentication, action logging and automatic updates). None of the guided tours, including Joomla 6’s “What’s New” tours, starts by itself.
Package format
- Standalone template: Motion now installs as a Joomla package (
pkg_motion-6.1.4.zip, manifestpkg_motion.xml) that installs and registers themotiontemplate extension. It declaresmethod="upgrade", so an existing Motion updates in place, and<blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own. The previous download was the bare template zip. - Quickstart bundle:
motion-quickstart-J6.1.4.zip, a complete Joomla 6.1.4 install with Motion pre-loaded as the active template.
Version numbering: from this release the first three digits of Motion’s version match the Joomla release it is built for (6.1.4 = Joomla 6.1.4). A later fix on the same Joomla release adds a fourth digit (6.1.4.1). The previous Joomla 5 download was versioned03.07.2024 5.1.1.Version 06.11.2025 6.0.0
- Update - Template updated to Joomla 6.0.0
- Minor Bugs fixed
Version 03.07.2024 5.1.1
- Update - Template updated to Joomla 5
- Minor Bugs fixed
Version 09.02.2024 5.0.2/4.2.0
- Update - Template updated to Joomla 5
Version 01.04.2023 4.2.8/4.0.12
- Fixed - Template updated to be compatible with Joomla 4.2
- New