Premium Joomla Templates for Joomla 5 and Joomla 6
Veva Energize Themes Templates Changelog
-
October 31, 2026
Version 5.4.10.4
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.
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.
Print view and shop pop-ups in the template's colours. In the print view and VirtueMart's pop-up windows, links and buttons (such as Login) came out in Bootstrap blue; they now use the template's colours.
Account and checkout forms. Every row of the registration and account forms had a line above and below it; the lines are gone, and the inputs' own borders separate the entries.
Phone header. Opening a phone panel (search, account, cart) no longer dims the logo and menu buttons at the top of the page.
Phone tab labels. On phones the home tabs read 0, 1 and 2 (the template printed each tab's number there); they now show their titles.
Product cards on touch screens. The card's Add to Cart panel lies over the product name and only appears on mouse hover, so on a phone it was invisible but still took the tap: tapping a product's name added it to the cart. On touch screens the name now opens the product page (where Add to Cart is); mouse users keep the hover panel.
Login pop-up. The login pop-up was capped at 350px, so the form scrolled inside it; it now shows the whole form.
Checkout page on phones. The shipment and payment boxes ran their text against their own left edge. They now have the same inset as the rest of the page.
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).
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 the page heading started 30px 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) 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_mobileAutoAdvancedefault 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. The site's meta description named another template; it names this one.
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. 26 JavaScript and CSS files nothing loads (356 KB), among them jQuery 1.8.1, Superfish, Modernizr and old Internet Explorer stylesheets; the unused Bootstrap 2 stylesheets (
css/bootstrap/,css/bootstrap.cssand the print stylesheet's import of it); 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, 2026Version 5.4.10.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.
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, 2026Version 5.4.10.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.October 19, 2026Version 5.4.10.1
Menu buttons and product extras. The menu buttons shown at tablet width, and the product modules' buttons that reveal a product's extra fields, did nothing and raised a script error. The small script they call had been removed by mistake and is back.
Side Pop Up Box. The tabs of the Side Pop Up Box (the
header-leftandheader-rightpositions) no longer opened their panels. They open and close again.Print view and pop-ups. The print view and VirtueMart's pop-up windows (such as “Ask a question”) still loaded the template's old Bootstrap 2 copy, an Internet Explorer stylesheet and a stylesheet that does not exist. They now load Bootstrap 5 and the compatibility stylesheet, like the rest of the template.
Security. The product image zoom settings (zoom type, lens shape, lens size and cursor) are now checked before they are written into the product page's script.
Download. The readme in the download folder described another template; it now names this one.
October 15, 2026Version 5.4.10
First Joomla 5 native release. Veva has been brought forward from the previous download (07.07.2025 5.3.0/4.4.4) to Joomla 5.4.10 + VirtueMart 4.8.4 + PHP 8 + Bootstrap 5. Veva keeps its Bootstrap 2 layout classes in its overrides and module content and renders on Joomla 5’s Bootstrap 5 through a compatibility stylesheet. This release adds a full phone layout with a toolbar and a store-category menu, a colour picker for all 108 colour settings, Joomla’s own on/off switches, a favicon tool, current social networks and an update-safe Custom CSS option. Every Joomla 3 class call is gone (203 → 0), and the settingsindex.phpwrites into the page are escaped. jQuery still loads for the slideshow, the product carousels and the image zoom; the old jQuery menu, background and Internet Explorer scripts are no longer loaded. Across the template, 17 files were added, 23 removed and 42 modified (262 → 256 files). The template version now matches the Joomla version it ships with.Added
Bootstrap 5 compatibility layer
- New
css/bs2-bs5-bridge.css: maps Veva’s Bootstrap 2 markup onto Joomla 5’s bundled Bootstrap 5. It covers the Bootstrap 2 grid (.row-fluid,.spanNwidths and offsets at 1170 px, nested fluid rows), the responsive utilities (hidden-phone,visible-phone,hidden-tablet,visible-desktopand the rest), tab panes, the modal shell (.in→.show), Bootstrap 2 base typography, and the VirtueMart product grids. - The stylesheet is linked immediately before
</head>, after the template’s own stylesheets, with a file-time version marker so an update shows straight away. - Joomla’s own icon classes, which Cassiopeia styles but a third-party template does not, now draw Font Awesome 6 glyphs: the password show/hide eye (
icon-eye), the pagination arrows (icon-angle-left,-right,-double-left,-double-right), about 50 classes in all. - New
js/cs-jq-compat.js: restores the three jQuery 1.x calls that Joomla 5’s jQuery 3 removed but the bundled slideshow still uses (.live(),.offset()on the window, and.load(fn)as a load-event shortcut).
Phone layout
- New
js/cs-mobile-generic.js: on phones (up to 767 px) Veva gets a compact header with the logo on the left and a menu button that opens the main menu as a slide-out panel. - A phone toolbar of six fingertip-sized buttons: Section menu, Log in, Register, Search, Follow us (the social links) and Cart.
- Section menu opens the shop’s category tree (for example Cameras > Compact / DSLR), with +/− to open subcategories and the current category marked. It is built from a VirtueMart Category module placed in the new
cs-secondaryposition, using the new layouthtml/mod_virtuemart_category/csplain.php. It is styled like the main slide-out menu. - New
js/cs-cart-into-utility.js: on phones the cart moves from the desktop header into the toolbar, and goes back when the window is widened. - A red cart count badge on the cart icon, on desktop and on the phone toolbar, shown when the cart holds items. It updates after Add to Cart without a page reload.
- The login dialog and VirtueMart’s “added to cart” confirmation fit the phone screen.
- The cart page on phones shows one labelled card per product (price, quantity, tax, total), with full-width billing, shipping and checkout buttons, so nothing runs off the screen.
- Login, checkout, coupon and quantity fields use a 16 px font, so iPhones do not zoom the page when you tap into them.
- On account pages (login, registration, password reset, VirtueMart account), phones show the page content first, with only the breadcrumbs and the store category menu above it.
- The content column and the bottom module band keep a 15 px side inset (they were 3 px from the screen edge), and the slideshow caption starts 20 px in.
- The footer social icons sit clear of the footer divider line.
- On touch screens the slideshow’s previous/next arrows are always visible.
camera.jsshowed them only on mouse hover, so a phone had no way to step through the slides. - The product carousels’ previous/next controls are 44 px chevron buttons inside both edges of the carousel.
Password show/hide
- New
js/cs-password-reveal.js: adds an eye button to the password field of the header Login form (themod_loginmodule), which Joomla does not decorate. Fields Joomla already gives an eye to (the login and registration pages) are left alone, so no field shows two.
Own error pages
error.phprewritten: “Page not found” (404) and “access denied” (403) pages are shown inside the template, with its header, menus, phone toolbar and footer, and fit a phone screen. Server errors (5xx) use Joomla’s minimal system page, because the database or a module may be what failed.
Colour picker
- New custom field
fields/colorpicker.phpwith the bundled Coloris picker (js/coloris.min.js,css/coloris.min.css). All 108 colour settings are nowtype="colorpicker", with a live swatch and a picker that ships inside the template. - New
fields/adminui.php: help rows in the Options screen run across the form instead of a narrow 160 px column, and the template’s Details panel follows Joomla’s light or dark admin theme.
Favicon tool
- New Favicon tab (fieldset
faviconsettings) with a media field (favicon) and a crop tool (favicontool,fields/favicontool.php): pick any image, drag a square over the part you want, and the template creates the device icon set (favicon.icoplus PNG sizes). The template’s ownfavicon.icois the fallback. With thanks to Gianluca, whose favicon question inspired this tool. index.phpoutputs the icon links through two new helpers,phFaviconSet()andphIcoBytes().- 10 new language strings in
en-GB.tpl_veva.ini(74 → 84),TPL_VEVA_FAVICON_*andTPL_VEVA_FAVICONTOOL_*.
Modern social network support
- Five new social services, each with a URL field and an on/off switch: Threads, Bluesky, Mastodon, TikTok and Discord (
threads/threadsON,bluesky/blueskyON,mastodon/mastodonON,tiktok/tiktokON,discord/discordON). - The Twitter slot is now X (formerly Twitter). With Facebook, Instagram, LinkedIn, YouTube, Vimeo, Pinterest and RSS, Veva supports 13 networks.
Update-safe Custom CSS
- New Custom CSS field (
customcss) on the Header & Footer Custom Code tab. It is stored in the database, so a template update never touches it. - A
css/custom.cssfile, if you create one, is loaded automatically. It is deliberately not part of the package, so an update cannot overwrite or remove it. - Both load after the template’s own stylesheets and the compatibility stylesheet, so your rules win.
Security helpers
- 13 new helper functions in
index.php:phEsc(),phHexColor(),phCssDim(),phCssNum(),phCssFont(),phCssSelector(),phCssToken(),phCssUrl(),phJsStr(),phJsLit(),phRichText(),phFaviconSet(),phIcoBytes(). They are used at 290 call sites inindex.phpandcomponent.php. Details under Security.
Changed
Joomla 5 platform
- Built for Joomla 5.4.10 and VirtueMart 4.8.4 (previous download: Joomla 5.3.0 / VirtueMart 4.4.4).
- The template loads Joomla 5’s bundled Bootstrap 5 (
/media/vendor/bootstrap/css/bootstrap.min.css) in place of its own Bootstrap 2 copy (css/bootstrap/bootstrap.min.css,bootstrap-responsive.min.css,bootstrap-extended.css). - The page layout in
index.phpuses Bootstrap 5 grid classes (50.col-md-Ncolumns in.rows). The template’s grid rules incss/responsive.css,css/responsive-template.cssandcss/layout.cssgained matching.col-md-N/.rowselectors. Overrides and module content keep their Bootstrap 2 classes, which the compatibility stylesheet renders. - The header Login form opens as a Bootstrap 5 dialog (
data-bs-toggle/data-bs-target/data-bs-dismiss,.modal-dialog-centered) in place of the Bootstrap 2data-toggle="modal"box. templateDetails.xmlversion07.07.2025 5.3.0/4.4.4→5.4.10; the version shown in the template description and the new@versiondocblock inindex.phpmatch.creationDate07/01/2016→2026-10-15;authorUrlnowhttps://.method="upgrade"is kept, so an existing install updates in place.
J3 → J5 API migration
- All Joomla 3 static calls removed (203 in the previous download → 0):
JRoute→Route,JHtml/JHTML→HTMLHelper,JText→Text,JFactory→Factory,JURI→Uri,JModuleHelper→ModuleHelper,JPluginHelper→PluginHelper,JComponentHelper→ComponentHelper. These aliases exist only while Joomla’s Behaviour – Backward Compatibility plugin is enabled, and not at all in Joomla 6. - Calls that had no simple rename:
JDispatcher::getInstance()->trigger()in the VirtueMart login override →Factory::getApplication()->triggerEvent();JDocumentHTML::countModules()inindex.php(2) →$this->countModules(). - Files converted (calls before → after):
index.php19 → 0, and the overrides:html/mod_login/default.php20 → 0;html/com_virtuemart/user/login.php19 → 0,user/edit_address.php6 → 0.html/mod_virtuemart_product/single.php9 → 0,default.php7 → 0.html/com_virtuemart/virtuemart/default_products.php9 → 0,default.php1,default_categories.php1 → 0.html/com_virtuemart/category/default.php8 → 0,categories.php1 → 0.html/com_virtuemart/productdetails/default.php8 → 0,default_reviews.php3,default_showcategory.php1 → 0.html/com_virtuemart/cart/default_pricelist.php5 → 0,default_address.php2,default_coupon.php1 → 0.html/com_virtuemart/askquestion/form.php3,bs3-form.php3,mail_html_question.php2 → 0.html/com_virtuemart/sublayouts/addtocart.phpandaddtocartbar.php1 each → 0;html/mod_virtuemart_manufacturer/default.php2,mod_virtuemart_currencies/default.php2,mod_virtuemart_cart/default.php1,mod_search/default.php1 → 0.
- In all, 33 of the 47 PHP overrides under
html/were modified.
Template Options screen
- 169 field type changes in
templateDetails.xml. The 61 remaining legacyclass="switch"checkboxes (65 before; four belonged to retired social services) are now Joomla’s native on/off switchers, for exampleRSSON,H1TitleImgText,cam_autoAdvance,cam_hover,cam_navigation,useZoom. With the five new social switches the template has 66 switchers and no legacy checkboxes. The 108 colour settings (e.g.cam_loaderColor,cam_loaderBgColor) changed fromcolortocolorpicker. - Fields 291 → 298, tabs 12 → 13. Tab names no longer end in “Settings” (Basic, Site Name & Slogan, Drop Down Menus, Header & Footer Custom Code, Built-in Slideshow, Product Slider, Testimonials Slider, Manufacturers Slider, Product Images, Side Pop Up Box, Theme).
Fonts and icons
- The Google Fonts
WebFontConfigJavaScript loader (Google’swebfont.js) is replaced by a direct stylesheet link for Roboto, withpreconnecthints (WebFontConfig1 → 0). - The front end loads Font Awesome 6.5.2 (
all.min.css) withv4-shims.min.css, in place of two Font Awesome 4 stylesheets (4.6.3 and 4.3.0) from the shut-down MaxCDN. The template’s existingfa fa-*markup keeps working. - Social icons are Font Awesome 6 brand glyphs (
fab fa-*) with screen-reader labels, in place of one PNG image per network.
Menus and backgrounds without old jQuery plug-ins
- Drop-down menus open on hover with CSS instead of the Superfish/Supersubs plug-ins. A 0.6 s grace period keeps a drop-down open while the pointer moves from the menu bar down into it; moving across to another menu item closes it at once.
- The Drop Down Menus tab’s on/off, opacity, height, width and speed settings (
usedropdown,dropopacity,dropheight,dropwidth,dropspeed) drove the Superfish animation and no longer have an effect. The column-width and mega-menu settings still apply. - The body background image and the
#top-longand#customers-boxbackground images are sized with CSSbackground-size: coverinstead of the Backstretch plug-in. - jQuery itself still loads, for the camera slideshow, the Owl product carousels, the product image zoom and scrollReveal. Template-side jQuery call sites: 145 → 85.
Store pages
- The product-page overrides in
html/com_virtuemart/productdetails/are Veva’s own layouts:default.php,default_images.php,default_reviews.php,default_showcategory.php, plus the newdefault_customfields.php,default_relatedcategories.phpanddefault_relatedproducts.php. The previous download carried copies of VirtueMart’s stock product-page layouts in this folder instead, so the template’s Zoom Images Script setting (useZoom, elevateZoom) had no effect. It works again. - The Register link in the header goes straight to the registration fields (
#email_field). VirtueMart sends registration to its account page, which opens with the login form, so on a phone the whole first screen was login and the registration fields were out of sight.
Fixed
- Every “page not found” returned a server error when Joomla’s backward-compatibility plugin was off (and always on Joomla 6).
error.phpusedJError::raiseWarning()andJText; it now uses the Joomla 4+ API. - The VirtueMart login and account page returned a server error on Joomla 5.
html/com_virtuemart/user/login.phpcalledbehavior.formvalidation(“behavior::formvalidation not found”) andbehavior.modal, both removed in Joomla 4, and the oldJDispatcherclass, also gone since Joomla 4. It now usesbehavior.formvalidatorand Joomla’s event dispatcher, and the modal call is gone. With thanks to Zoltán Szász, whose report led to theformvalidationfix across our templates. - With current VirtueMart, Add to Cart could do nothing. The button showed a spinner that never finished and nothing went into the cart, because
html/com_virtuemart/sublayouts/addtocart.phpand the home-page product form inhtml/com_virtuemart/virtuemart/default_products.phpdid not send the security token VirtueMart requires. Both now include it. - The password reset, login and username reminder forms did not show when they had no menu item of their own. Such pages borrow the home menu item and its “[Hide Content Handler on front page]” style, which hides
#content-handler.index.phpnow shows the content on those pages. - The slideshow script loaded twice on every page:
camera.min.jsandcamera.jswere both enqueued. Onlycamera.jsloads now. - Fixes from a maintenance pass across our templates:
- The
@font-faceincss/template.csspointing at the removedmedia/jui/fonts/IcoMoon font is disabled; it caused four failed font requests on every page. - Joomla’s pagination arrows (
icon-angle-*), which a third-party template left as empty squares, are mapped to Font Awesome glyphs (see Bootstrap 5 compatibility layer). - Featured-article intro text is no longer clipped to its title in the one-column featured layout (
.blog-featured .blog-item). - The search button sits flush with its search box (
#search-position .btn).
- The
Removed
Legacy scripts and stylesheets no longer loaded
- Scripts:
superfish.js,supersubs.js,jquery.backstretch.min.js,jquery.mobile.customized.min.js,camera.min.js(the duplicate),modernizr.js,selectivizr-min.js. These files remain injs/but nothing loads them. Also gone: thehtml5shivscript fromhttp://html5shiv.googlecode.com, Google’swebfont.js, and the inlinejQuery.browsershim. - Stylesheets: the Bootstrap 2 copy (
css/bootstrap/bootstrap.min.css,bootstrap-responsive.min.css,bootstrap-extended.css), the two MaxCDN Font Awesome 4 stylesheets, and the Internet Explorer filesie.cssandie6.csswith their conditional comments.index.phpno longer loadsie9-10.css; the old error page’sreset.cssandpresets/style-error.cssare no longer used.
Files removed
- 22 copies of VirtueMart’s stock product-page layouts from
html/com_virtuemart/productdetails/: thebs3-*set (bs3-default.php,bs3-default_images.php,bs3-default_images_additional.php,bs3-default_manufacturer.php,bs3-default_pdf.php,bs3-default_reviews.php,bs3-default_showcategory.php,bs3-notify.php), thebs5-*set (7 files), anddefault_images_additional.php,default_manufacturer.php,default_pdf.php,mail_html_notify.php,mail_raw_notify.php,multiadd.php,notify.php. VirtueMart’s own current versions are used for these views. utils/admin-js.js, a Joomla 3 admin script, and the<script>tag in the template description that loaded it.
Retired social services
- Four social slots removed with their switches: Google+ (
gplus), StumbleUpon, Digg and Blogger.
Security
- Every template setting
index.phpwrites into the page is escaped for where it appears (223 unescaped$this->params->get()echoes before), through the new helpers:phEsc()for HTML text and attributes.phHexColor()for colours.phCssDim(),phCssNum(),phCssFont(),phCssToken(),phCssSelector()andphCssUrl()for values inside inline<style>.phJsStr()andphJsLit()for values inside inline JavaScript (slideshow and carousel settings, background images).
- Site-title fields (
H1Title/H2Title) go throughphRichText(): formatting markup is kept, but scripts, styles, iframes andon*event handlers are stripped. Before, they were printed as entered. - Image
alttext built withstrip_tags()did not escape quotes; the 3 occurrences inindex.phpnow go throughphEsc(strip_tags(…)). - Social links escape their URLs and open with
rel="noopener". - Module, menu and tab titles are escaped in
index.phpand in the overrides: the module chromeshtml/layouts/chromes/megamenu.php,slides.php,vmdefault.php,vmtab.phpandhtml/modules.php, plusmod_login,mod_menu,mod_customandmod_virtuemart_cart.htmlspecialchars/escape calls across the template rose from 3 to 33. - The error page escapes the error message it prints.
component.php(print view and VirtueMart pop-ups) escapes the colour-preset name it writes into a stylesheet link.
Quickstart Installer
The Quickstart is a complete Joomla 5.4.10 site with VirtueMart 4.8.4 and Veva installed as the active template, with the demo content. It now installs through Joomla’s own installation wizard; the previous Quickstart was an Akeeba
.jpaarchive with Kickstart.- Bundled extensions: MCP For J 2.8.3, StageIt 5.7.3, Akeeba Backup 10.4.0, Weblinks 5.1.0.
- Only the templates the site uses are included: the
templates/folder holdscassiopeia,systemandveva. VirtueMart’s demo templateshorme_3,vmbeez3andvmbasicare gone;horme_3andvmbeez3carried error pages that returned a server error. - The phone Section menu is ready to use: a VirtueMart Category module (“Store Categories”, layout
veva:csplain) is published in thecs-secondaryposition on all pages. - The slideshow’s navigation arrows are switched on (
cam_navigation), as is the product image zoom. - Joomla 5.4’s “What’s New” guided tour (tour 15) no longer starts by itself (
autostart = 0). - Joomla’s Statistics plugin is set to never send data.
- A clean starting state: the action log is empty, and 5 of the 16 post-install messages stay on (Joomla’s welcome, privacy, multi-factor authentication, action-log and automatic-update notices). The template-override change list is empty, so there is no “changes found” warning.
Package format
- Standalone template: Veva now installs as a Joomla package (
pkg_veva-5.4.10.zip, manifestpkg_veva.xml) that installs and registers thevevatemplate extension. It declaresmethod="upgrade", so an existing Veva updates in place, and<blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own. - Quickstart bundle:
veva-quickstart-J5.4.10.zip, a complete Joomla 5.4.10 install with VirtueMart 4.8.4 and Veva pre-loaded as the active template.
Version numbering: from this release the first three digits of Veva’s version match the Joomla release it is built for (5.4.10 = Joomla 5.4.10). A later fix on the same Joomla release adds a fourth digit (5.4.10.1). The previous download was versioned07.07.2025 5.3.0/4.4.4: a Joomla 4/5-compatible build still on Bootstrap 2 and Joomla 3 class calls.July 7, 2025Version 07.07.2025 5.3.0/4.4.4
- Update - Template updated to Joomla 5.3.0
- Compatible with Virtuemart Version 4.4.4
February 15, 2024Version 13.02.2024 5.0.2/4.2.6
- Update - Template updated to Joomla 5
- Compatible with Virtuemart pre-release Version 4.2.6
- Please Note: VirtueMart 4.2.4,is not compatible with the Joomla 5,
therefore no Joomla 5 Quickstart until VirtueMart Version 4.2.6 is publicly released.
April 10, 2023Version 01.04.2023 4.2.8/4.0.12
- Fixed - Template updated to be compatible with Joomla 4.2
- New



