Guidelines for configuring VirtueMart


1. The majority of settings in VirtueMart have a fallback or useful default. In general few options HAVE to be configured by the shopowner on their new store.

2. Where you see a configuration option, if it is not set, then the condition is not tested. You do not have to set an option uinless you really want to create some restrictions. The configuration setting will be valid for all ( unless other restrictions apply in your configurations)


  • product has no shoppergroup => the item will be visible to all shoppers
  • product price has no shoppergroup => price is for any shopper
  • tax rule has no category => effects all products (except where other restrictions are set)
  • shipment/payment method has no shoppergroup => method is shown to all shoppers
  • shipment method has no weight => method is available to all orders.


  • templates and layouts use automatically the style selected by joomla
  • slugs are generated automatically if left empty
  • the product currency, select tax and discount setting is correct by default
  • language defaults to joomlas standard site language
  • Managers without vendor id get the vendor id = 1
  • the rounding of the price display set to -1 in the main config, defaults to the decimals set by the currency
  • some defaults are loaded if the value is empty, for example a shopper without shoppergroup has automatically the default shoppergroup. A guest has automatically the guest group.

3. Zero, False, Null, 0 and 0.00.

Experienced users will be aware that due to some html, php and database behaviours a field with a value of 0 is handled as false, or not used at all. In these cases it usually works to use 0.0 or 0.0001.

For example, the call for price option will be available, if you set a value of either " " or "0". Note: You can create a free product (and don't use the call for price option), use the price value 0.0. This behaviour is a result of rule #2.


Sometimes, due to a PHP or other 500 (critical) error, a Joomla component such as VirtueMart can stop working and just show a blank page.

This lack of display hides the relevant error message. This is general good practice, it is seen as poor to reveal details of errors to visitors.

Virtuemart disables by default the display of php warnings & notices to prevent perceived errors due to harmless php notices. To see the error which caused the blank screen when this happens, there are several ways to reveal the error

  1. use the vm config option enable php debug for admins
  2. use the vm config option enable php debug for all
  3. Enable php developer error reporting in joomla (always for all)
  4. Check your server logs (not access logs) (If available to you)

VirtueMart itself has a logging option. It can be important to see the real message behind an error message. Guests do NOT see complete error messages by joomla. For example they just see "Error storing user data" while the administrator would see "Error storing user data with virtuemart_user_id=xyz".

Note: Consider enabling the error reporting and debugging for administrators only.

You can also try this: Enable the vmdebug. It allows debugging in many cases for non fatal errors. It gives and idea what is going on behind the scenes. For example, why a shipment/payment is not selectable.

Vmdebug is also very handy for developers and templaters.