Hacking Virtuemart 1.1.3


My first experience with Joomla and Virtuemart has left me less than enthusiastic. By far the most time I spent was trying to figure out what files performed what functions. It seems like there are three files that you need to modify for every change you’d like to make. The Virtuemart developer site is useless, and you have to resort to Google to find any answers. So I thought I’d document some of my findings here.

Finding Files
One of the best tips I can give you is to utilize the Unix find utility if you’re working on a *nix platform. You can locate a file using wildcards like so:

$ find / -name *searchterm*

Virtuemart’s default implementation of the tax module leaves much to be desired. In our case we had to charge Denver City tax in addition to a Colorado State tax. This is simply impossible using the default tax module. Luckily I found someone with the same problem and was able to hack in a work around:

How to configure Virtuemart tax functions to work with U.S. states and zip codes

The key files in this case being:

  • basket.php and ro_basket.php
  • basket_b2c.html.php and basket_b2b.html.php
  • ro_basket_b2c.html.php and ro_basket_b2b.html.php
  • confirmation_email.tpl.php

If you poke around in these files and take a look at the link above it should give you a good start on modifying the way taxes are calculated and displayed to shoppers on your Virtuemart store.

Other Useful Files
I found that by far the most useful file was ps_checkout.php. It seems like Virtuemart runs a lot of its primary functions through this file. Other useful files include:

  • ps_user.php
  • ps_shopper.php

Further Reading