This website is using cookies
×
  • October 31, 2026

    Version 5.4.10.3

    Checkout from the cart panel. The open cart panel offered only a Show Cart link. It now ends with a Check Out Now button, shown once the cart has products and kept in step when products are added without a page reload. The panel also grows to fit it: it was capped at 360px and cut the new button off at its bottom edge.

    Added-to-cart pop-up. Continue Shopping and Show Cart showed as bare text in a box sized to them. They are now proper buttons, and on a small phone the pop-up fits the screen.

    Phone header. Opening a phone panel (search, account, cart) no longer dims the logo and menu buttons at the top of the page.

    Home tabs. The product tab strips on the home page now switch when a tab is clicked; with Joomla 5's Bootstrap they stayed on the first tab.

    Phone cart count. With products in the cart, the phone's cart button now shows the number of items.

    Slideshow arrows. The previous / next arrows sat 3px above the middle of their round buttons; they are centred.

    Ask a question and menu links. Guests can now use Ask a question without logging in first, and the demo's Contact Us and Special Offers menu items, which pointed nowhere, open the contact page and the shop (Quickstart).

    Parallax settings work again. The template's parallax options (slideshow and section backgrounds) had done nothing since Joomla 5, because their old jQuery plugin no longer runs. A small modern script now drives the same settings.

    Tablet and phone layout rules. Two blocks of the template's own tablet and phone styles were written with && instead of and, so browsers ignored them; they now apply as designed.

    Forms. On the login page the username box was narrower than the password field beside it. Every text field in the login, registration and account forms now takes the full row.

    Phone headings. On the contact page and the article pages the page heading started 32px in on a phone (two paddings stacked); it now lines up with the text at 20px.

    Module positions. The template tested pairs of module positions (the two footer columns, positions 3 and 4) with a Joomla 3 expression that Joomla 4 and later read as a single position name, so the test always failed; each position is now checked on its own.

    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_mobileAutoAdvance default to on). Existing sites keep their saved settings.

    Quickstart. The contact page's image pointed at a file that does not exist; it is cleared. The sample menu links Parks and Shop pointed at pages that do not exist; they are unpublished.

    K2 leftovers removed. The template still carried stylesheets for K2, which is not part of the Joomla 5/6 template: css/k2.css and css/k2.print.css. They 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. 19 JavaScript and CSS files nothing loads (281 KB), among them jQuery 1.8.1, Superfish, Modernizr and old Internet Explorer stylesheets; the old jQuery parallax plugin (js/jquery.stellar.min.js), replaced by the script above; 9 template options nothing read (old drop-down menu effect settings and similar); template code that read settings the template never offered; stylesheet references to 11 images that do not exist, and links to stylesheets that do not exist.

    October 19, 2026

    Version 5.4.10.2

    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.

    Quickstart. Joomla's Language Overrides search list shipped filled with several thousand strings indexed on the original developer's computer, file paths included. It is now empty; Joomla fills it again when you refresh it in Language Overrides.

    October 19, 2026

    Version 5.4.10.1

    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.

    October 14, 2026

    Version 5.4.10

    Joomla 5.4.10. The Quickstart now installs Joomla 5.4.10 (Joomla 5.4.10 release notes), and the template version is now 5.4.10 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.

    Account pages. The password reset, login and username reminder forms show again when they have no menu item of their own (the home page layout was hiding them).

    Phones. The testimonials heading no longer touches the screen edge.

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

    October 2, 2026

    Version 5.4.9.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.

    October 2, 2026

    Version 5.4.9

    First Joomla 5 native release. Xeon Shop has been rebuilt for Joomla 5.4.9 + VirtueMart 4.8.4 + PHP 8 + Bootstrap 5. There was no Joomla 5 download of Xeon Shop before this one: the previous download is the Joomla 4 package (xeon.zip, version string 26.06.2023 4.3.0/4.0.13, built for Joomla 4.3 and VirtueMart 4.0.13), and everything below is measured against it. Every Joomla 3 class call is gone (240 calls in 36 files), the template options use Joomla 5's own on/off switches and a real colour picker, every template setting written into the page is escaped, and there is a new phone layout with a slide-out menu and a fingertip-sized toolbar. The page layout in index.php now uses Bootstrap 5 columns, while the VirtueMart overrides and module content keep their Bootstrap 2 classes and render on Joomla 5's Bootstrap 5 through a compatibility stylesheet. jQuery still loads (Joomla's own copy) for the camera slideshow, the Owl and Slick product sliders, the Selectric drop-downs, the cookie notice and the parallax bands; the old jQuery menu, background and polyfill plug-ins are no longer loaded. Template files: 241 → 237, with 9 added, 13 removed and 47 modified. The template version is now 5.4.9, matching the Joomla version it ships with.

    Added

    Bootstrap 5 rendering through a compatibility stylesheet

    • index.php loads Joomla 5's bundled Bootstrap 5 (/media/vendor/bootstrap/css/bootstrap.min.css) before the template's own stylesheets, so template.css still wins the cascade.
    • New css/bs2-bs5-bridge.css, linked last in the page head (immediately before </head>, on every page, with a file-time version marker). It lets Xeon Shop's Bootstrap 2 markup render correctly on Bootstrap 5:
      • Bootstrap 2 grid: .row-fluid / .spanN widths and gutters, nested spans and .offsetN, row clearfix, and phone stacking of every span column.
      • The Bootstrap 2 responsive utilities (hidden-phone, visible-phone, hidden-tablet, visible-tablet, hidden-desktop, visible-desktop), tab panes, collapse, .well / .page-header and Bootstrap 2 base typography.
      • A Bootstrap 5 modal shell, and Joomla 4/5 icon classes (pagination arrows, the password eye and others) mapped to Font Awesome 6 glyphs.
    • New js/cs-jq-compat.js: restores three jQuery 1.x calls that Joomla 5's jQuery 3.7 removed but the bundled camera.min.js slideshow and jquery.stellar.min.js parallax still use (.live(), .offset() on the window, and .load(fn) as a load-event shortcut).

    New phone layout

    • New js/cs-mobile-generic.js. On phones (up to 767 px) a menu button in the header opens the main menu as a slide-out panel, with submenus opening in place.
    • A phone toolbar of six 44×44 px buttons: Section menu, Log in, Register, Search, Follow us (the social links) and Cart. The buttons take the template's accent colour on every page.
    • Section menu opens the shop categories. It reads a new module position, cs-secondary (declared in templateDetails.xml and output in a hidden holder in index.php), so any menu module published there appears behind that button.
    • Cart page on phones: each product row becomes a card with labelled price, quantity, tax and total (they were printed as bare, unlabelled values), the totals become label/value lines, and the billing, shipping and checkout buttons run full width at 44 px. Nothing runs off the screen.
    • Account pages on phones (login, registration, your account) show the page content first, with only the breadcrumbs and the store category menu above it.
    • Blog and category page numbers wrap onto a second line on phones, with "Page 1 of N" above them instead of running under the buttons.
    • The login and cart form fields use 16 px text on phones, so iPhones no longer zoom the page in when you tap them.
    • The slideshow's previous / next arrows are visible on touch screens. camera.js ships them at opacity: 0 until the mouse hovers, which never happens on a phone.
    • The footer bands (#bottom-bg and #footer) inset their text 20 px on phones, the same as the content column. Their backgrounds stay full width.

    Favicon

    • New Favicon tab in the template options (fieldset faviconsettings, fields favicon 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 stays as the fallback. With thanks to Gianluca, whose favicon question inspired this tool.
    • 10 new language strings (TPL_XEON_FAVICON_*, TPL_XEON_FAVICONTOOL_*). The language file goes from 74 to 84 strings.

    Modern social network support

    • Five new social services, each with its own URL field and show/hide switch: Threads, TikTok, Bluesky, Mastodon and Discord (threads/threadsON, tiktok/tiktokON, bluesky/blueskyON, mastodon/mastodonON, discord/discordON).
    • The Twitter slot is now X (formerly Twitter) with the X logo. The full set is X, Facebook, Instagram, Threads, Bluesky, Mastodon, LinkedIn, YouTube, TikTok, Vimeo, Pinterest, Discord and RSS, plus the five custom social slots.
    • Social icons are Font Awesome 6 brand glyphs (fa-x-twitter, fa-bluesky, fa-threads and so on) in place of the old socicon-* icon font, and each of the 13 network links carries a title.

    Template options (administrator)

    • Colour picker: the open-source Coloris picker ships inside the template (css/coloris.min.css, js/coloris.min.js, field class fields/colorpicker.php), so nothing is fetched from another site.
    • Custom CSS field (customcss, on the Header & Footer Custom Code tab), 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 the package, so a template update can never overwrite or remove it, and the field is stored in the database.
    • New fields/adminui.php: help rows in the options run the full width of the form instead of a narrow column, and the template's Details panel follows Joomla's light or dark admin theme.

    Changed

    Joomla 5 platform

    • Built for Joomla 5.4.9 and VirtueMart 4.8.4 (previous download: Joomla 4.3, VirtueMart 4.0.13).
    • templateDetails.xml version 26.06.2023 4.3.0/4.0.13 → 5.4.9 and creation date 28/02/2018 → 2026-10-02. The version shown in the template description and the @version docblock in index.php match. method="upgrade" is kept, so an existing install updates in place.

    Layout grid

    • The page layout in index.php now uses Bootstrap 5 rows and columns: .row-fluid 32 → 3, .spanN 57 → 8, .col-md-N 0 → 49. css/template.css carries matching .col-md-N selectors (102) beside its .spanN ones, so the module-row widths carry over to the new columns.
    • The VirtueMart overrides and the module content keep their Bootstrap 2 classes (.row-fluid 16, .spanN 30 in html/), rendered by the compatibility stylesheet.

    J3 → J5 API migration

    • 240 Joomla 3 static class calls in 36 files → 0. Each moved to its namespaced Joomla 4+ form: JFactory → Factory, JText → Text, JHtml → HTMLHelper, JRoute → Route, JUri → Uri, JModuleHelper → ModuleHelper, and the rest. 219 calls were converted in 34 files; the other 21 went with two removed files (see Removed).
    • Heaviest files: index.php (37), html/mod_login/default.php (20), html/com_virtuemart/user/login.php (19), html/com_virtuemart/productdetails/default.php (16), error.php (13), html/mod_virtuemart_product/single.php (13), html/mod_virtuemart_product/slick-slider.php (13), html/mod_virtuemart_product/default.php (11).
    • Also converted: JDispatcher::getInstance()->trigger() → Factory::getApplication()->triggerEvent() in user/login.php and user/edit_address.php; JDocumentHTML::countModules() → HtmlDocument::countModules() and new JRegistry() → new Registry() in index.php (2 each); the four jimport() calls removed; JError::raiseWarning(404, …) → new Exception(…, 404) in error.php.
    • Every VirtueMart override folder was converted: askquestion, cart, category, productdetails, sublayouts, user and virtuemart, plus mod_virtuemart_cart, _category, _currencies, _manufacturer, _product, mod_login and mod_search. In total 41 of the 51 PHP overrides changed.

    Template options (administrator)

    • 100 field type changes in templateDetails.xml:
      • 80 on/off settings: the legacy class="switch" type="checkbox" → Joomla 5's radio switcher (for example OverrideDefaultSettings, RSSON, AdditionalGFontON, H1TitleImgText, cam_autoAdvance, breadcrumbcontentwidth). With the retired social switches removed and five new ones added, the template has 85 switchers and no legacy checkboxes (84 before).
      • 20 colour settings: type="color" → type="colorpicker", with a live swatch.
    • Template options: 338 → 345 fields, 15 → 16 tabs. Eleven tab names lose their trailing "Settings" (for example Built-in Slideshow, Drop Down Menus, Color), and the social labels read "Show X (formerly Twitter)", "Show Facebook", "Show RSS" and so on instead of "… ON/OFF".

    Icons and fonts

    • Front end: Font Awesome 4.6.3 from MaxCDN → Font Awesome 6.5.2 (all.min.css + v4-shims.min.css from cdnjs). The template's existing fa fa-* class names keep working through the shims.
    • Google Fonts load through a stylesheet <link> (with preconnect and display=swap) in index.php and in component.php (print view and VirtueMart pop-ups). The WebFontConfig JavaScript loader, which fetched webfont.js from ajax.googleapis.com, is gone (2 → 0).

    Menus, backgrounds and dialogs

    • The hover drop-down menus are driven by CSS instead of the Superfish/Supersubs jQuery plug-ins. A closing drop-down waits 0.6 s and submenus are attached to their parent item, so the drop-down stays open while the pointer moves down to it.
    • The background image set in the template options is sized with CSS (background-size: cover) instead of jQuery.backstretch().
    • The login dialog is a Bootstrap 5 modal (.modal-dialog.modal-dialog-centered > .modal-content) opened and closed with data-bs-toggle / data-bs-target / data-bs-dismiss (0 → 8); its Close control is a real button.
    • Template-side jQuery call sites: 174 → 148.

    Store pages

    • Category descriptions no longer carry 30 px of side padding (.category_description), so the text lines up with the Ordering bar and the products below it, on desktop and phones.
    • css/template.css: 219,016 → 223,228 bytes.

    Fixed

    Pages that returned a server error on Joomla 5

    • Shop login page: html/com_virtuemart/user/login.php called JDispatcher, behavior.modal and behavior.formvalidation, none of which exist in Joomla 5, so the VirtueMart login page returned a 500. It now uses triggerEvent() and behavior.formvalidator, and the modal call is gone. With thanks to Zoltán Szász, whose follow-up report led to the formvalidation fix across our templates.
    • Checkout address form: html/com_virtuemart/user/edit_address.php called JDispatcher and behavior.framework, and count($this->userFields['functions']) on a value that is empty for guests, which is a fatal error on PHP 8. Editing the billing or shipping address during checkout returned an error. It now uses triggerEvent() and !empty(). With thanks to Zoltán Szász, whose report found the PHP 8 crash.
    • Slick product slider layout: html/mod_virtuemart_product/slick-slider.php called behavior.modal, which Joomla 5 removed, so any product module set to that layout stopped the page. Removed.
    • Error pages: error.php used JError and JText. When Joomla's Behaviour - Backward Compatibility plugin is off, and always on Joomla 6, Joomla could not render any error page, so every "page not found" became a 500.

    Add to Cart

    • Add to Cart did nothing on the home page and category listings: the button showed a spinner that never finished and nothing was added. The template's html/com_virtuemart/sublayouts/addtocart.php left out the security token VirtueMart requires, so the request was redirected instead of answered. The token is added.

    Requests for files that do not exist

    • The home page requested css/camera.css, which the template has never contained. Removed.
    • The error page requested css/reset.css, css/text.css and css/typography.css, none of which exist. Removed, and on right-to-left sites it now loads the template's real template-rtl.css (it asked for a missing template_rtl.css).

    Maintenance pass

    • The @font-face in css/template.css pointing at Joomla 3's media/jui/fonts/ IcoMoon font, which Joomla 4 removed, is disabled.
    • Pagination arrows: Joomla 4/5'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. .blog-featured .blog-items.columns-1 .blog-item now uses display:block; overflow:visible; height:auto.
    • Search button: the global button margin pulled the search button away from its box. #search-position .btn now has margin:0.
    • With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

    Removed

    Files removed

    • Bootstrap 2: the whole css/bootstrap/ folder (bootstrap.css, bootstrap.min.css, bootstrap-responsive.css, bootstrap-responsive.min.css, bootstrap-extended.css, bootstrap-rtl.css, bootstrap-tooltip-extended.css). Joomla 5's Bootstrap 5 and the compatibility stylesheet take its place.
    • js.zip: a 147 KB archive of 26 old script files that sat in the template root.
    • utils/admin-js.js: a Joomla 3-era admin script.
    • html/mod_k2_content/ (Slider/default.php and two index.html files): an override for K2, which the template does not use.
    • html/com_virtuemart/productdetails/default_addtocart.php: nothing called it, and it built its own cart form without the security token.

    Legacy scripts no longer loaded

    • index.php and component.php no longer load superfish.js, supersubs.js, jquery.backstretch.min.js (loaded twice before), jquery.mobile.customized.min.js, modernizr.js, selectivizr-min.js, the html5.js shim or the Google webfont.js loader. The local files remain in js/ (30 → 33 files) but nothing loads them.

    Legacy stylesheets no longer loaded

    • Font Awesome 4.6.3 (font-awesome.min.css), and the Internet Explorer sheets ie.css / ie6.css with their conditional comments (the files remain in css/).

    Retired social services

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

    Security

    • 13 output helpers added (defined in index.php; the CSS and JavaScript ones also in component.php and error.php), used at 285 call sites. Every template setting written into the page is escaped for where it lands:
      • phEsc() (97 uses): 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() (47 uses), phCssToken(), phCssNum(), phCssDim(), phCssFont(), phCssSelector(), phCssUrl(): colours, sizes, fonts, selectors and image URLs written into the page's CSS.
      • phJsStr(), phJsLit(): values written into inline JavaScript.
      • phFaviconSet(), phIcoBytes(): favicon output.
    • Raw echo $this->params->get(…) output: 211 in index.php and 4 in component.php → 2, the Header and Footer Custom Code fields, which are administrator-only by design.
    • Three alt="<?php echo strip_tags(…) ?>" echoes, where a quote in a setting could break out of the attribute, now go through phEsc(strip_tags(…)).
    • Module, menu and tab titles and module class suffixes are escaped in the module chromes html/layouts/chromes/megamenu.php, parallax.php, slides.php, testimonial.php, vmdefault.php, vmdefaultlogin.php and vmtab.php, in html/modules.php, mod_menu, mod_custom and mod_virtuemart_cart, and in index.php (the login dialog and the left/right header panels). Module background-image URLs in parallax.php, testimonial.php and mod_custom are escaped or sanitised for the attribute or CSS they land in.
    • The 18 social links escape their URL and open with rel="noopener".
    • The colour-theme name used in component.php's stylesheet path is filtered to a plain token.
    • The error page escapes the error message and page title it prints, and casts the error code to a number.
    • htmlspecialchars / escape calls in the template: 6 → 53.

    Quickstart Installer

    The Quickstart is a complete Joomla 5.4.9 site with VirtueMart 4.8.4 and Xeon Shop pre-configured as the active template, installed with Joomla's own web installer. The Joomla 4 download was an Akeeba .jpa archive restored with Kickstart.

    • Bundled extensions: Akeeba Backup 10.4.0, Weblinks 5.1.0, MCP For J 2.7.5.
    • The site templates/ folder holds only cassiopeia, system and xeon. VirtueMart's demo templates horme_3, vmbeez3 and vmbasic are not included; the first two had error pages that returned a server error.
    • The two VirtueMart 3 Klarna payment plug-ins (plg_vmpayment_klarna, plg_vmpayment_klarnacheckout), which VirtueMart 4 no longer ships, are not included.
    • A CATEGORIES module (mod_virtuemart_category) is published at cs-secondary, so the phone's Section menu button opens the shop categories.
    • The site-level language file language/en-GB/en-GB.tpl_xeon.ini is the current one, so the template options show their labels, including the new favicon strings.
    • Joomla 5.4's "What's New" guided tour (tour 15) does not start by itself (autostart = 0), and Joomla's Statistics plugin is set to never send data.
    • A clean starting state: the action log is empty, and the post-installation messages are trimmed to Joomla's five new-site advisories (welcome, action logs, privacy, multi-factor authentication, automated updates).

    Package format

    • Standalone template: now a Joomla package, pkg_xeon-5.4.9.zip (pkg_xeon.xml), that installs the Xeon Shop template (tpl_xeon.zip) and registers it in the package manager. It declares method="upgrade", so an existing Xeon Shop updates in place, and <blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own. The Joomla 4 download was a plain template zip.
    • Quickstart bundle: xeon-quickstart-J5.4.9.zip, a complete Joomla 5.4.9 install with VirtueMart 4.8.4 and Xeon Shop pre-loaded as the active template.
    Earlier history and version numbering: before this release Xeon Shop was available only for Joomla 4 (latest download dated 26.06.2023, version string 4.3.0/4.0.13, the Joomla and VirtueMart versions it was built for). That package stays in the download area under LEGACY - Joomla 4 - Not Recommended For New Projects. From 5.4.9 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 (5.4.9.1).
    April 10, 2023

    Version 01.04.2023 4.2.8/4.0.12

    • Fixed - Template updated to be compatible with Joomla 4.2
×

logo


TOP
Connect