VM Theon

Dynamic Shop Joomla Template For Virtuemart

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

 
  • Change Log:
    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 Dynamic 5.4.0.

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

    June 1, 2026

    Version 5.4.0

    5.4.0 2026-06-01

    First Joomla 5 native release. Dynamic has been rebuilt from the ground up for Joomla 5.4.6 + VirtueMart 4.6.8 Pro + PHP 8.3 + Bootstrap-grid CSS + vanilla JavaScript, with no carry-over of the legacy Bootstrap 2 / jQuery menu and slideshow dependencies that defined the earlier 3.x / 4.x-era codebase. This is the first Dynamic release that ships with full Joomla 5 namespace compliance, modern FontAwesome 6 icons, the current social-network set, and a hardened quickstart database.

    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. Extension-version declaration bumped to 5.0.
    • VirtueMart 4 helper integration refactored end-to-end for J5 namespace resolution.

    Bootstrap-grid CSS

    • Joomla 5 stopped auto-loading Bootstrap CSS for templates; Dynamic now ships a minimal in-template Bootstrap-equivalent grid utility block (.row flex container + .col-md-N breakpoint rules + mobile fallback) so the existing .col-md-* markup renders correctly out of the box.
    • Phase 5i.1 grid block + Phase 8b inner-row width fix together restore proper side-by-side footer + bottom-row layout on Joomla 5.

    FontAwesome 6.7.2 + v4 shims

    • Upgraded FontAwesome from 6.5.2 to 6.7.2 with the v4-shims stylesheet loaded alongside, so legacy fa fa-X syntax in customer content keeps rendering while new fa-brands fa-square-X / fa-solid fa-square-rss glyphs are used in template-managed markup.
    • Bluesky, Threads, Mastodon, TikTok, Discord glyphs now available (added in FA 6.6.0+).

    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.
    • Social-block parameter set extended: each network now has its own *ON visibility toggle plus URL field, with 5 reserved customSoc1–5 slots for ad-hoc additions.
    • Quickstart defaults populate all *ON keys so the social row renders out of the box with placeholder URLs ready for customer fill-in.

    Restructured footer layout

    • New two-row footer markup: social icons centered across the top row, with copyright left + payment icons right on the second row.
    • Mobile fallback (<768px) stacks all three blocks vertically and centers each.
    • Higher-specificity CSS overrides ensure the layout wins over historic template.css rules without removing legacy declarations.

    Menu hover bridges (Phase 6f + 6h)

    • Top menu (Superfish): dropdown tightened to top: 34px flush with parent <a>'s bottom edge + padding-top: 8px invisible hover bridge + ::after belt-and-braces pseudo-bridge. Mouse can now move from parent down into the dropdown without the menu closing mid-transit.
    • Mega-menu: same pattern retargeted to ul.menu-nav#mega-menu — dropdown to top: 30px + padding-top: 10px bridge.

    CSS cache-busting (Phase 6i)

    • templates/dynamic/css/template.css and blog.css are now loaded with a ?v=<filemtime> suffix appended automatically. Every CSS deploy produces a fresh URL so browsers and CDNs fetch new styles immediately, eliminating the historic "I updated the CSS but customers see the cached version" failure mode.

    Security helpers (XSS hardening)

    • Active .htaccess at the template root with a <FilesMatch> 403 rule for backup-extension patterns (.bak, .bak-*, pre-*, .orig, .old, .swp, .swo, .tmp, ~) so accidental on-server backup files cannot be HTTP-fetched.
    • strip_tags() null-safety on parameter echoes (PHP 8.1+ deprecation fix).

    Changed

    J3 to J5 API migration

    • Every deprecated J* static class call migrated to its namespaced equivalent: JFactory to Factory, JText to Text, JHtml to HTMLHelper, JUri to Uri, JRoute to Route, JComponentHelper to ComponentHelper, etc.

    Modernization swaps (Phase 5)

    • Legacy jQuery menu helpers replaced with Joomla 5 + Bootstrap-grid native rendering.
    • Footer countModules call corrected from invalid 'footer-left && footer-right' string-argument to proper boolean expression, so the side-by-side footer layout fires correctly when both modules are published.
    • Template radio-switcher fields all rewritten with JOFF-first / JON-second ordering matching Joomla 5 convention (red-left / green-right semantics).
    • Contact Us footer module (mod_custom #120) icons rewritten from FA4 fa fa-X-square syntax to canonical FA6 fa-brands fa-square-X; "Joomla 3.7 / VirtueMart 3" tagline refreshed to "Joomla 5 / VirtueMart 4".

    Category banner images (Phase 7d)

    • Category top-row banner images (e.g. "New products", "Sale", "Hot products" stylized graphics) now render at the source 560x560 square aspect ratio via aspect-ratio: 1/1; object-fit: contain, fixing the "squished" appearance reported under the J5 grid CSS.

    Quickstart database hardening (Phase 5)

    • Phase 5h: Orphan vmadmin admin template fully removed — jos_extensions, jos_template_styles, jos_update_sites_extensions, jos_template_overrides (88 rows), and the administrator/templates/vmadmin/ directory all cleaned. administrator/templates/ now contains only the Joomla 5 stock atum + system templates.
    • Phase 5j: Article hits counter reset. All #__content.hits values reset to 0 (was 18,627) before quickstart export so customers install with clean view-counts.
    • Phase 5k.0: Full template-override security review — 88 disk files + 50 jos_template_overrides rows scanned with zero high-severity findings (no eval, no base64_decode, no raw $_GET/$_POST/$_REQUEST echoes, no untrusted file inclusions). 15 medium-severity flagged-for-review items all dispositioned as benign controller-level / sublayout-parent token patterns.
    • Phase 5k.1–5k.3: All 50 Dynamic template overrides marked as checked.

    Removed

    • Orphan vmadmin admin template tree (administrator/templates/vmadmin/, 3.5 MB) — legacy VM3-era admin theme no longer needed under Joomla 5 + Atum.
    • Phase 3e and Phase 5i backup files (*.bak-*) cleaned from the template tree before quickstart export.
    • Stale Akeeba .jpa donor backups from the canonical download path.
    Notes
    • Joomla: 5.4.6. VirtueMart: 4.6.8 Pro. PHP: 8.3. Dynamic template: 5.4.0 (this release).
    • Dynamic 5.4.0 is the first Dynamic release packaged in the modern pkg_dynamic Joomla update-server format. Existing 5.1.2 / 4.2.12 customers can install pkg_dynamic-5.4.0.zip over the top via the Extensions Manager — no uninstall-first required thanks to the method="upgrade" manifest declaration.

    Package format

    • Standalone template: pkg_dynamic-5.4.0.zip — Joomla package wrapper that installs the tpl_dynamic template extension and registers it under the package manager. <blockChildUninstall>true</blockChildUninstall> prevents customers from removing the template directly via the Extensions Manager (must uninstall the package instead).
    • Quickstart bundle: Dynamic-J5.4.6-Quickstart — complete Joomla 5.4.6 install with VirtueMart 4.6.8 Pro and Dynamic pre-loaded as the active template.

    August 6, 2025

    Version 06.08.2025 5.3.0/4.4.4

    • Upgraded - Now compatible Joomla 5
    • 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 8, 2024

    Version 08/08/2024 5.1.2/4.2.12

    • Upgraded - Now compatible Joomla 5
    • Upgraded - Now compatible VirtueMart 4.2.12
    • Fixed - Minor bugs
    November 17, 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 issue
    • Fixed - Double ReCaptcha on VirtueMart Registration page
    • Fixed - Template toggle button not displaying
    June 23, 2023

    Version 16.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
    August 23, 2022

    Version 23.08.2022 3.10.11/4.0.6

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