Discover VirtueMart's Features

Powering Your E-commerce Experience
  • Flexible Product Management:

    VirtueMart enables easy management of products, categories, attributes, and variants, allowing administrators to efficiently organize and showcase their merchandise.

  • Multi-Language Support:

    With built-in multi-language support, VirtueMart caters to international markets, allowing users to create and manage multilingual online stores.

  • Multiple Payment Gateways:

    VirtueMart supports various payment gateways, including PayPal, Stripe, Authorize.Net, and more, offering flexibility in accepting payments securely.

  • Shipping and Tax Calculation:

    The platform provides tools for calculating shipping costs and taxes based on different parameters such as weight, destination, and tax rates, streamlining the checkout process.

  • Inventory Management:

    VirtueMart offers inventory management features, including stock tracking, low-stock notifications, and backorder management, helping users keep track of their inventory levels.

  • SEO-Friendly:

    The platform is designed with search engine optimization (SEO) in mind, providing features such as customizable URLs, meta tags, and sitemaps to improve online visibility and rankings.

  • Extensions and Add-ons:

    VirtueMart offers a wide range of extensions and add-ons, allowing users to extend the functionality of their online store with additional features and integrations.

  • Release of VirtueMart 4.4 and Roadmap, always push beyond

    The new version 4.4 has few new features, but reflects the evolving development process. Longterm users know that VirtueMart is developed in a rapid prototyping and KaiZen philosophy style. So if we develop a new feature, our testers sometimes have 10 new test versions a day. On the other hand, we try to evolve the code without hard breaks. For example developers can use the same function to get a category tree, but the technic behind that function drastically changed over the years. No stone...

    Read More …

UPDATE BOTH THE VIRTUEMART AND VIRTUEMART_AIO COMPONENTS

It is not possible any longer to update automatically via the live updater.

Download the latest version of VirtueMart

  1. Unzip the downloaded archive
  2. Go to the Joomla Installer http://yourwebsite.com/administrator/index.php?option=com_installer
  3. Upload both packages (com_virtuemart.2.6.x.zip and com_virtuemart.2.6.x_ext_aio.zip)

And your VirtueMart store is updated.

In the new version you have installed, the live updater has been removed and replaced by the Joomla updater. New versions notifications will be notified on the control panel, and the updates will be done via Extensions >Extensions Manager > Update.

 

Notes for 2.6, New minimum requirement is php5.3.10

PHP 5.2.x is EOL since 3 years and 3 months. From the view of a technician or programmer there is no need to say that php5.2.x is completly outdated and unsecure. There are no fixes anylonger since 3 years, please read here http://php.net/eol.php. There are some critical issues in the encryption functions in the php5.2 versions. We worked as best backward compatible, but bugs are more likely. We even suggest to use php5.5 latest.

Therefore the new minimum requirement for VirtueMart is php5.3.10

Fix for 2.0.26d

The difference between 2.0.26c and 2.0.25d is just one line fixing pagination, which got broken for the canonical manufacturer links. We are sorry for that.

Fixes 2.0.26a,b,c

version a introduced the memory leak, which happened if the logfile could not be created and a bigger vmError was thrown version b has a fix for this. The other fixes are for the router, small enhancementes for the cart (your customers will like it)

Important information before updating to 2.0.26

The update to vm2.0.26 is strongly recommended. In case you are using already the native One Page Checkout option of VirtueMart 2 and created an override, please read here http://forum.virtuemart.net/index.php?topic=120943.0

List of new features and bugs fixed

Fixes for 2.0.24c

The version c is more robust then the 24b version. 3rd party category modules should run again without problems. It mainly contains the fix described here forum.virtuemart.net/index.php?topic=120413.msg410322. Some users experienced missing products in the category view, even with default layout. Just go in the vm config to the ordering settings, choose product name and store it one time. After that configure your desired setting. 

Fixes for 2.0.24b

The version 2.0.24b fixes mainly two problems in 2.0.24a,

  • one is that the category ordering is always by name and not using the manual ordering
  • the other is that the invoice is not using the layout override.
  • Category tree cache was not always used and not always correctly updated
in case you are using the old categorieS view or a module by 3rd party or if you get "Using $this when not in object", then please read here forum.virtuemart.net/index.php?topic=120413.msg410322

 

Improvements and fixes for 2.0.24a

The version 2.0.24a is mainly a bugfix release. The update should be easy, no changes for layouts. The new version is more robust.
We fixed the ordering of categories, there was a small error so that always the manual ordering was selected. So please check the configuration of your ordering settings! If you have trouble updating your store, please visit http://forum.virtuemart.net/index.php?board=115.0

Improvements and fixes for 2.0.22c

Very important security release. Update ASAP. Please do not use the liveupdater. Just use the liveupdater to download the files, but not for installation. Just use hte normal installation routine provided by joomla. Also you should disable for a clean installation the akeeba installer in case you use it. We are sorry, but we had not the time yet to replace the liveupdater with a better system.

Improvements and fixes for 2.0.22a

Fixed the problem with the language, the problem for category_id=0, listing of orders.

This is just a bug fix of the 2.0.22. Check the news http://virtuemart.net/news/list-all-news/443-certification-in-sweden.

Improvements and fixes for 2.0.22

People with mutilanguage page should use the 2.0.22a. Everything else should work as before. No special action need. The new features like fancybox and chosen js are deactivated after updating. Go to the vm config and try it, it depends on your template and used js if it makes sense for you. There are also new settings to define the orderstatus to send the emails. You should check after the update if it fits for you. Furthermore there is a slightly change in the cart view. The Coupon is using no extra sign anylonger. So check how your coupons look in the cart.

If you like the project VirtueMart please vote for us here http://extensions.joomla.org/extensions/e-commerce/shopping-cart/129

Improvements and fixes for 2.0.20

Besides the setting of the email address (vendor or joomla) everything should work as before. No special action need. If you like the project VirtueMart please vote for us here http://extensions.joomla.org/extensions/e-commerce/shopping-cart/129

Version B is only need if you use parents and child products. More info here http://forum.virtuemart.net/index.php?topic=113993.0

Improvements and fixes for the 2.0.18

First stay cool :-) . This release do not contain any layout changes which disturb layout overwrites. This release is to make the code more robust and secure. Please also update your AIO. This is mainly a security release and the reason we gave it an own version number. All known bugs are fixed. If you are afraid to update, be sure to at least update your paypal plugin. Versions below 2.0.10 are considered as unsecure. The "a" version has a fix if you use an unpublished product as pattern and some people got a problem with the add to cart button. In this case you should install the 2.0.18a over 2.0.18 .

Improvements and fixes for the 2.0.16

We are very happy that we can announce that the update to 2.0.16 wont break your overwrites. We suggest anyway to take a look on the virtuemart_2.0.14_to_2.0.16_layout_changes.zip. 80% of the changes are only interesting for shops with multiple currencies and just show the mails, etc in the currency choosen by the shopper. Just in case you see this error message after updating "Exception in loadConfig for unserialize dateformat b:0", then just enter your shop config and store it one time, to remove the old values. Same for the error ".../currencydisplay.php on line 60 Fatal error: require_once(): Failed opening ..."

Improvements and fixes for the 2.0.14

Changes between VM2.0.10 to VM2.0.12 in the layouts

We are sorry for the frequent updates lately. This happened due the reason that we started to soon with adding new features for the new 2.2 but then we had todo a quickfix and the problems arised. We are aware of the problems, but are very certain that a fast reaction is better than to wait too long. The F version got extra hours tested and should work confident.
Changes from a to f:
the changes are not in any layout files. Therefore all updates from 2.0.12-2.0.12f should be easy. The c version were almost bugfree, but suddenly we got the serious paypal bug with the quantity (cart got doubled by quantity). The new filter for the files made trouble using unicode alias and the partly implemented multiprices destroyed inheriting of prices. Additionally due a restructuring the frontend editing was broken (these 1 minute fixes). These 4 serious bugs are the reason we had to react fast and in that frequence. All should be cleared now.

All the changes in images

Templaters should know
"The renderVendorAddress was used one time in the view.html.php of the invoice view, it is still there, but we use now in the view.html.php always
$vendor->vendorFields = $vendorModel->getVendorAddressFields();
the result is buffered and used in renderVendorAddress. So it should use less resource, additionally templaters can use the $this-vendor->vendorFields as they are used to it with the userFields already"

It is still backward compatible, but we will remove the "this->vendorAddress" from the invoice view next time. So use directly shopfunctions::renderVendorAddress in the layout (be aware that the third parameter is for skipping fields)


Layout changes

FE/views/cart/tmpl/default.php
line 34 add

$document->addScriptDeclaration ("
jQuery(document).ready(function($) {
if ( $('#STsameAsBTjs').is(':checked') ) {
$('#output-shipto-display').hide();
} else {
$('#output-shipto-display').show();
}
$('#STsameAsBTjs').click(function(event) {
if($(this).is(':checked')){
$('#STsameAsBT').val('1') ;
$('#output-shipto-display').hide();
} else {
$('#STsameAsBT').val('0') ;
$('#output-shipto-display').show();
}
});
});
");

 

line 144 add

STsameAsBT; ?>'/>

 

FE/views/cart/tmpl/default_pricelist.php
line 71 replace

echo VmHtml::checkbox('STsameAsBT',$this->cart->STsameAsBT).'
';


with

echo VmHtml::checkbox('STsameAsBTjs',$this->cart->STsameAsBT).'
';

 

Changes between VM2.0.8 to VM2.0.10 in the layouts

You can download the file com_virtuemart.2.0.10_layout_changes.zip. It contains pictures showing the changes.

Changes between VM2.0.6 to VM2.0.8 in the layouts or API of VirtueMart 2

The 2.0.8a version contains only the fixes for the vendor address and the pagination. Direkt link of this page http://virtuemart.net/index.php?option=com_content&id=416

replace all adminform by adminForm in the following files

  • components/com_virtuemart/views/user/tmpl/edit_address_userfields.php
  • components/com_virtuemart/views/user/tmpl/edit_vendor.php
  • views/user/tmpl/edit_vmshopper.php

in components/com_virtuemart/views/cart/tmpl/default.php

Old:

 

replaced by:

 

file in components/com_virtuemart/views/cart/tmpl/default_pricelist.php

old:

 

replaced by

 

file in components/com_virtuemart/views/invoice/tmpl/mail_html_header.php

old

replaced by

file in components/com_virtuemart/views/invoice/tmpl/mail_raw_vendor.php

old

echo str_replace("
", "\n", JText::sprintf('COM_VIRTUEMART_MAIL_VENDOR_CONTENT',$this->vendor->vendor_store_name,$this->shopperName,$this->currency->priceDisplay($this->orderDetails['details']['BT']['order_total']),$this->orderDetails['details']['BT']['order_number'] ));

replaced by

echo JText::sprintf('COM_VIRTUEMART_CART_NOTIFY_MAIL_RAW', $this->productName,$this->url);

file components/com_virtuemart/views/productdetails/tmpl/default.php

old

if (!empty($this->product->product_availability)) {     $stockhandle = VmConfig::get('stockhandle', 'none');     if ($stockhandle == 'risetime' and ($this->product->product_in_stock - $this->product->product_ordered) 
 
 
 
 
	<!--?php } } 

file components/com_virtuemart/views/user/tmpl/edit_address.php

old

if ($this->fTask === 'savecartuser') {     $rtask = 'registercartuser'; } else {     $rtask = 'registercheckoutuser'; }

replaced by

if ($this->fTask === 'savecartuser') {     $rtask = 'registercartuser'; $url=0; } else {     $rtask = 'registercheckoutuser'; $url = JRoute::_('index.php?option=com_virtuemart&view=cart&task=checkout',$this->useXHTML,$this->useSSL); }

old:

echo shopFunctionsF::getLoginForm(false);

replaced by

echo shopFunctionsF::getLoginForm(true,false,$url);

added after


	

the following line:


	

file components/com_virtuemart/views/user/tmpl/edit_address_userfields.php

old

    reset($this->userFields['fields']);

replaced by

     if(is_array($this->userFields['fields'])) { reset($this->userFields['fields']);     }

file components/com_virtuemart/views/user/tmpl/edit_shopper.php

old

 

replaced by

 

old


	

replaced by


	

file components/com_virtuemart/views/user/tmpl/edit_vmshopper.php

old


	

replaced by

                

replaced by

Optional Changes between VM2.0.6 to VM2.0.8 in the layouts or API of VirtueMart 2

file in components/com_virtuemart/views/cart/tmpl/default.php

 

After those lines

*/ // This displays the pricelist MUST be done with tables, because it is also used for the emails echo $this->loadTemplate('pricelist'); if ($this->checkout_task) $taskRoute = '&task='.$this->checkout_task; else $taskRoute =''; ?>

add those lines

 

file in components/com_virtuemart/views/category/tmpl/default.php

old

 

replaced by:

if ( empty($this->keyword) ) { ?>
 
 

add those lines

 

file in components/com_virtuemart/views/manufacturer/tmpl/details.php

old

if (!empty($manufacturerImage)) { ?>

replaced by:

if (!empty($this->manufacturerImage)) { ?>  

file in components/com_virtuemart/views/orders/tmpl/details.php

vendor->vendor_name .' - '.$this->vendor->vendor_phone ?>

replaced by

vendor->vendor_name .' - '.$this->vendor->vendor_phone ?>

file components/com_virtuemart/views/productdetails/tmpl/default.php

after

// Product Navigation END

added

 

If you still have problems, you can upload this file com_virtuemart.2.0.8_layout_changes.zip. It includes some pictures showing where the changes must be done.

Changes from previous versions

Changes from previous versions

Subscribe to our News

Delivered by FeedBurner

See it live!

 

Demo

Documentation

Testimonial

I just wanted to let you know how impressed I am with Virtuemart now. I had toyed around with Virtuemart earlier in 2008 and it is amazing at the difference between there and now. You people are doing great work!