croatian coast, Copyright Max Milbers

VirtueMart 4.0.4 contains various bug fixes and improvements. Especially it solves some problems reported to us after the release of the previous version of VirtueMart when it is used along with Joomla 4.1.x.
Fixes and changes and enhancements included in this version are:

Joomla 4

  • Fixed saving the sorting of items in j4
  • Fixed chosen update for j4, needs another trigger
  • New jQuery for j3 (j4 one)
  • Updated xmls so they should work for j3 and j4
  • Added a missing j4 adjustment to the vmloaderpluginupdate plugin

Developer new technics

  • vmJsApi new method to push JHtml execution in a queque like we do with our js already. The queque is executed with writeJS
  • sku, gtin, mpn only shown for is_input customs
  • updateStatusForOneOrder is only executed if there is a given virtuemart_order_id and if the entry already exists
  • vmplugin function storePluginInternalData converts the decimals, too
  • Updated state published in the product model, for listing we now use list.published and some other minors in product model


  • New classes for Multivariant dropdowns
  • Horme3 removed $app->isAdmin
  • Just some better use of existing functions "loadPopUpLib"


  • Enhanced router using static functions and values (all static) and remanaged it for better debugging
  • Fixed initialisation of language in router, if language was not loaded the first time with loadConfig
  • The debug of the router was sometimes called without loading the config and failed
  • Changed key field_type_searchable_published from unique to key and minors
  • GUI, changed maximum input for order status
  • Replaced all %1s and %1d to %1$s and %1$d in EN and DE language files due %1s and %1d causing problems
  • Found big error which lead to wrong inserts/updates, if the same entry was stored within the same call again.
  • Fix for vmView, added parameter for construct and added setting of VmView::$bs in getVmSubLayoutPath


  • Added a new option in vmloaderpluginupdate to load config with or without language
  • Categories do not load anylonger the parents for the breadcrumbs in the Backend for faster listing
  • Some work on the languages. If a language is selected, which exists in joomla but not in the vm config, it should show the joomla language and only the vm content stored in tables like product description should use the fallback.
  • JPEG images create thumbs with JPG
  • Enhanced handling of storing a new custom proto type if type is plugin but no plugin set
  • Enhanced vmecho for better measuring time. It sums up the time needed for a particular function, but not the time between calls to the function

DOWNLOAD VirtueMart 4