VM Theon

Echo Shop Joomla Template For Virtuemart

Build a mobile friendly ecommerce website today with the Echo shop virtuemart template for Joomla

 
  • Change Log:
    October 16, 2026

    Version 5.4.10.2

    Store owners. The account page no longer shows an error when a store owner or vendor is logged in.

    Cart. The cart icon always shows how many items are in the cart, not only on mouse-over.

    Articles. The Previous and Next buttons sit at opposite ends of the article.

    October 16, 2026

    Version 5.4.10.1

    Phones. New phone header: the logo with a menu button, and a row of icons for the menu, your account, registration, search, sharing and the cart. The cart icon shows how many items are in the cart.

    Phones. The menu opens again, and menus, the cart and the login close when you tap outside them.

    Phones. Account pages (login, registration, account details) show the form straight away, with only the store menu above it.

    Desktop. The cart icon shows the number of items in the cart.

    Fixed. The account details page no longer shows an error for shop owners.

    October 15, 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.

    Phones. Page text no longer touches the screen edge.

    Category pages. The category description lines up with the products (no extra space at the sides).

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

    October 13, 2026

    Version 5.4.9.2

    Breadcrumbs. Fixed a template bug that could give the breadcrumb trail the wrong CSS class.

    Quickstart. The quickstart includes MCP For J 2.8.3.

    October 2, 2026

    Version 5.4.9.1

    Quickstart install fix. The quickstart now installs completely on MySQL databases. Before, the Joomla installer stopped part-way through on MySQL hosts; MariaDB hosts were not affected. Thanks to Iryna for reporting this.

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

    September 30, 2026

    Version 5.4.9

    Joomla 5.4.9. Updated for Joomla 5.4.9, a security and bug-fix release. The quickstart now installs Joomla 5.4.9.

    September 30, 2026

    Version 5.4.8.3

    Fix for the previous update. After the security update of 28 September, pages the template shows in its "component" view stopped with a server error ("Call to undefined function phEsc()"). That view is used for print pages, pop-up windows and the VirtueMart cart and checkout steps. The helper those pages need is now included, and they work again. There are no other changes. Recommended for every site that installed the previous version.

    September 28, 2026

    Version 5.4.8.2

    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), including the site name and slogan in image alt text, and module, menu and tab titles wherever the template prints them (module headings, title attributes and the mega menu). A setting or title containing a quote or markup can no longer break out of its place in the page. The error page escapes its message and title too. There are no visual changes. Recommended for all sites.

    September 3, 2026

    Version 5.4.8.1

    Maintenance release.

    • Joomla 3 compatibility code removed throughout the template. The template's PHP now uses Joomla's current API everywhere — the template files, the component override and every layout override (cart, checkout, product details, login and the modules). The old code only worked while Joomla's Behaviour – Backward Compatibility plugin was switched on, and will not work at all on Joomla 6. The most serious case was the error page: when it failed, Joomla could not display any error page, so an ordinary “page not found” was served to your visitors as a 500 server error.
    • Removed two unused third-party demo templates from the Quick Start (horme_3 and vmbeez3). They were VirtueMart demo templates that served no purpose in your site, and both had broken error pages of their own. Your site is unaffected — neither was in use.

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

    August 18, 2026

    Version 5.4.8

    Joomla 5.4.8 and the VirtueMart 4.8.0 security update.

    Important — please update VirtueMart

    • VirtueMart 4.8.0 is a security release from the VirtueMart team (published 12 August 2026, revision 11339, “Eagle owl”). The Quick Start in this release installs it, and the demo this template is built from has been updated to it. If you already run an Echo store, update VirtueMart yourself — installing this template package does not update your store component. Get it from virtuemart.net or your Joomla Extensions Manager.

    Changed

    • Version numbering has changed. From this release the template version matches the Joomla version it is built and tested against, so Echo 5.4.8 is the build for Joomla 5.4.8. The previous number for this template was 5.4.0.4. Nothing about how you install or update the template changes, and Joomla still treats 5.4.8 as newer than 5.4.0.4.
    • The Quick Start now installs Joomla 5.4.8. The previous Quick Start bundled Joomla 5.4.7. Starting a new site from it now gives you the current Joomla release without an immediate update afterwards.

    Fixed

    • The version shown on the template's own options page was two releases out of date. The Template Options screen read “5.4.0.3 — 2026-07-22” while the template was actually 5.4.0.4. The badge, the manifest and the installer record are now all read from the same release and all say 5.4.8.
    • An internal engineering report was being packaged. security-sweep-3f-report.md, a note from our own modernization work, was inside every download even though nothing referenced it and the template's own file manifest never listed it. It has been removed from the package and the Quick Start.
    • The Quick Start registered a template style that pointed at nothing. A leftover “Aeon Template” style row had no matching template installed, so after a fresh Quick Start install it appeared in System → Site Template Styles with nothing behind it. It has been removed. No menu item referenced it, so nothing else changes.

    No template file changed between 5.4.0.4 and 5.4.8 — this release is the current Joomla and VirtueMart, the packaging fixes above, and the new version number. No template-parameter or database changes; installs as a straight overwrite.

    August 11, 2026

    Version 5.4.0.4

    Maintenance release — one fix, found on a live customer site.

    • Fixed: site-name and slogan images disappeared on deeper pages. If you use an image for your site name or slogan (Template Options → Basic), it displayed correctly on the home page but was replaced by its alt text everywhere else — category pages, product pages, paginated lists. The image address was written into the page without your site's base address, so the browser looked for the image relative to the page you were on rather than the root of your site. On a deeper page that location does not exist, and Joomla answers with a page of HTML where an image was expected — which the browser cannot draw, so it falls back to the alt text. Image addresses are now resolved against your site's base address. Complete URLs, addresses that already start with a slash, and Joomla's responsive-image information are all passed through untouched.
    • Fixed: the Background Image option was hardened the same way — it could previously double up the base address if you entered a complete URL.
    July 22, 2026

    Version 5.4.0.3

    Maintenance release — fixes for issues found in real-world use on a live production site. With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

    • Fixed: search-module icon rendered as a stray character — the Joomla 3 jui icon font was removed from Joomla core in Joomla 4, so the glyph fell back to a literal character and the dead font reference 404'd on every page. The icon is now a self-contained SVG.
    • Fixed: pagination arrows (first/previous/next/last) rendered as empty squares — Joomla 4+ uses newer icon class names the template never mapped. Now self-contained SVGs.
    • Fixed: featured/blog articles showing only their title — tall single-column intro articles were clipped by the blog layout CSS.
    • Improved: search button sits snug against the search input.
    • Fixed: the template version shown after install now tracks the real release version.
    July 16, 2026

    Version 5.4.0.2

    Bugfix release. Fixes a legacy Joomla 3 form-validation call (behavior.formvalidation, removed in Joomla 5) in the VirtueMart login template override, which could cause a 500 - behavior::formvalidation not found error on pages where the login block is shown to guests — for example the cart, depending on your VirtueMart settings. The override now uses the Joomla 5-native behavior.formvalidator.

    Found during the follow-up on the 2026-07-15 report — thank you again, Zoltán!

    July 15, 2026

    Version 5.4.0.1

    Bugfix release. Fixes a PHP 8 fatal error (count(): Argument #1 ($value) must be of type Countable|array, null given) on the cart "Bill To / Ship To" address edit page. The edit_address.php template override — and its Bootstrap-3 layout variant — now guard the optional user-fields block with !empty() instead of count(), so guest checkout address editing works on all PHP 8 versions. Recommended update for everyone running Echo 5.4.0.

    Thank you, Zoltán, for taking the time to report this!

    May 31, 2026

    Version 5.4.0

    First Joomla 5 native release. Echo has been rebuilt from the ground up for Joomla 5.4.6 + VirtueMart 4.6.8 Pro + PHP 8.3 + Bootstrap 5.3.8 + vanilla JavaScript, with no carry-over of the Bootstrap 2 / jQuery 1.x dependencies that defined the earlier 3.x-era codebase. This is the first Echo release that ships with no template-side jQuery, no BS2 markup in any rendered output, and no remnants of the deprecated Joomla 3 /media/jui/ library.

    Added

    Joomla 5 native API

    • Full Joomla 5 namespace compliance across all template files, overrides, and helper utilities — every Joomla\CMS\* class accessed through its namespaced form.
    • templateDetails.xml rewritten to the J5 manifest schema with method="upgrade" declared so existing customers can update in place without uninstall-first.
    • VirtueMart 4 helper integration refactored end-to-end for J5 namespace resolution.

    Bootstrap 5.3.8 native rendering

    • Template now renders directly against J5's bundled /media/vendor/bootstrap/css/bootstrap.min.css — no separate Bootstrap copy, no compatibility shim CSS in the final shipped tree.
    • Phase 3b legacy-Bootstrap purge (see Removed section below) — all BS2-era artifacts removed from the template tree.
    • Phase 3d full CSS rewrite migrated 87+ grid selectors (.spanN to .col-md-N, .row-fluid to .row) via word-boundary-protected regex.
    • echo-fixups.css bridge layer preserves backward compatibility for any third-party content posted by site editors using legacy BS2 markup.

    Modern slideshow — Swiper

    • Custom legacy camera.js plugin replaced with Swiper, J5's bundled slideshow library.
    • Per-slide CTA button styling, caption positioning, and overlay darkness now controllable from the module-edit UI rather than requiring code edits.

    Vanilla JavaScript menu

    • New js/menu-vanilla.js — a self-contained IIFE replacement for the legacy superfish.js + supersubs.js + inline jQuery menu handlers.
    • WeakMap-backed 500 ms mouse-out delay preserves the original menu-hover feel without any jQuery dependency.

    Modern social-network support

    • Social-media set parity — added Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest, Discord.
    • Removed dead networks: Google+, StumbleUpon, Digg, Blogger, MySpace.
    • X (the Twitter rebrand) replaces the legacy Twitter icon.

    Security helpers (XSS hardening)

    • New escape and validation helpers added to index.php:
      • phEsc() — HTML attribute escaping for href, src, alt, title, and Swiper caption output.
      • phHexColor() — color parameter validation with fallback to #000000 on bad input.
      • phCssDim() — dimension parameter validation accepting px / em / rem / % / vh / vw / pt / ex / ch / cm / mm / in.
    • 124 phEsc() / phHexColor() / phCssDim() wraps applied across index.php template parameter echoes.
    • strip_tags() null-safety — H1Title and H2Title parameter echoes cast to string before strip_tags() (PHP 8.1+ deprecation fix).
    • Active .htaccess at the template root replacing the historical htaccess.txt placeholder, with a <FilesMatch> 403 rule for backup-extension patterns.

    PHP 8.x dispatcher safety

    • $type fallback added to mod_login override — Joomla 5 split mod_login into separate login / logout templates and the dispatcher no longer passes $type. Fallback silences the Undefined variable $type warning while preserving the legacy logout branch.
    • $moduleclass_sfx fallback added to mod_breadcrumbs override.

    Changed

    J3 to J5 API migration

    • Every deprecated J* static class call migrated to its namespaced equivalent: JFactory, JText, JHtml, JUri, JRoute, JComponentHelper, etc.

    Modernization swaps (Phase 5)

    • Phase 5b: jQuery.dropkick currency selector replaced with native <select> and CSS-only chrome.
    • Phase 5c: Superfish menu replaced with vanilla menu-vanilla.js (no jQuery dependency).
    • Phase 5d: jQuery.backstretch replaced with CSS background-size: cover.
    • Phase 5e: Removed jQuery 3 compatibility shim (BS5 bundles its own modern jQuery).
    • Camera slideshow hand-ported to Swiper.

    Quickstart database hardening (Phase 5)

    • Phase 5f: Update Sites Manager cache flushed (58 stale entries cleared); 41 enabled / 10 disabled update sites surveyed.
    • Phase 5f.2: Pending extension updates applied. Akeeba Backup Core upgraded 9.9.5 → 10.3.3, Weblinks Extension Package upgraded 4.3.1 → 5.1.0 via Joomla CLI extension:install --url= on the donor before quickstart export. Customers installing the 5.4.0 quickstart get current third-party extensions out of the box rather than 5–10 pending updates as their first action. Now a standard pre-export step for every VMT template modernization.
    • Phase 5g.1: Global check-in across 22 J5 tables (1 stale check-out cleared).
    • Phase 5g.2: 11 condition-based postinstall messages hidden (5 customer-actionable kept); robots.txt synced to robots.txt.dist; all 11 user groups set to text-filter NH (No HTML, XSS hardening).
    • Phase 5j: Article hits counter reset. All #__content.hits values reset to 0 in the donor database before quickstart export. Rationale: the hits counter accumulates during development on the donor site and ships as preloaded view-counts inside the customer's freshly-installed quickstart, which is misleading at best and indistinguishable from third-party tampering at worst. Resetting the counter is now a standard pre-export step for every VMT template modernization.
    • Phase 5i: Footer year bumped to 2026 and centered.
    • Phase 5k: 100 template overrides marked as checked-in.

    Removed

    Legacy Bootstrap purge (Phase 3b)

    • Deleted top-level css/bootstrap.css (119 KB) — BS2-era full stylesheet, no longer referenced by index.php.
    • Deleted css/bootstrap/ subdirectory (7 BS2 split-files, ~295 KB).
    • Deleted js/bootstrap.min.js (25 KB) — BS2-era jQuery-dependent JS bundle.
    • Patched css/print.css — three legacy /media/jui/css/bootstrap* @import lines (which had been 404-ing since the modernization started; the JUI library was removed in Joomla 4) collapsed to a single import of J5's BS 5.3.8 bundle.
    • Total removed: ~440 KB of legacy Bootstrap 2 artifacts.

    Legacy /media/jui/ icon residue purge

    • Removed IcoMoon @font-face declaration and .editor .icon-* selectors that referenced the deprecated /media/jui/fonts/IcoMoon.* font files (no longer present in Joomla 4+).
    • Removed .edit .icon-ok / .icon-cancel rules referencing the deprecated /media/jui/img/glyphicons-halflings-white.png sprite.
    • Removed .icon-calendar / .icon-eye rules referencing broken local-file image refs.
    • Swapped VirtueMart cart + / − buttons (.vm2-add_quantity_cart, .vm2-remove_from_cart) from broken local-file image refs to FontAwesome glyphs (\f067 plus / \f068 minus), using FontAwesome's web font which is loaded by J5 core — zero new asset weight.
    Notes
    • Server PHP version when this release was prepared: PHP 8.3.31.
    • Joomla: 5.4.6 (current stable as of 26 May 2026). VirtueMart: 4.6.8 Pro (Revision 11258, March 12 2026). Echo template: 5.4.0 (this release).
    • Maxdebug error_reporting audit on the Echo Quickstart's default install shows zero PHP warnings, notices, or deprecations originating from Echo template code.

    Package format

    • Standalone template: pkg_echo-5.4.0.zip — Joomla package wrapper that installs the tpl_echo template extension and registers it under the package manager.
    • Quickstart bundle: Echo-J5.4.6-Quickstart — complete Joomla 5.4.6 install with VirtueMart 4.6.8 Pro and Echo pre-loaded as the active template.
    • Quickstart database hardening — base install + donor REPLACE INTO pattern with leading TRUNCATE of 10 structural tables before donor data loads, eliminating the wizard-install corruption pattern where J5.4+ base-install rows persisted alongside donor rows.
    September 26, 2025

    Version 26.09.2025 5.3.0/4.4.4

    • Upgraded - Now compatible Joomla 5.3.0
    • Upgraded - Now compatible VirtueMart 4.4.4
    • Fixed - Minor bugs
    November 29, 2024

    Version 29.11.2024 5.1.2/4.2.12

    • Fixed - Minor bugs with cart
    August 15, 2024

    Version 14.08.2024 5.1.2/4.2.12

    • Upgraded - Now compatible Joomla 5
    • Upgraded - Now compatible VirtueMart 4.2.12
    • Fixed - Minor bugs
    January 18, 2024

    Version 18.01.2024 4.3.4/4.2.0

    • Fixed - Minor bugs
    November 1, 2023

    Version 31.10.2023 4.3.4/4.2.0

    • Updated - Compatible with PHP 8.2
    • Updated - Compatible with Joomla 4.3.4
    • Updated - Compatible with VirtueMart 4.2.0
    • Fixed - Minor bugs
    June 30, 2023

    Version 26.06.2023 4.3.0/4.0.13

    • Fixed - VirtueMart Products Module bug
    • Fixed - Double ReCaptcha on VirtueMart Registration page
    • Fixed - Template toggle button not displaying
    June 27, 2023

    Version 26.06.2023 4.3.0/4.0.13

    • Fixed - Menu Params error for adding in image on menu
    May 20, 2023

    Version 20.05.2023 4.3.0/4.0.12

    • Fixed - Template updated to be compatible with Joomla 4.3
    September 9, 2022

    Version 09.09.2022 3.10.11/4.0.6

    • Fixed - Joomla 3.10.11
    • Fixed - Template updated for PHP 8.0