• VirtueMart 3 continues to set global benchmarks

    Compatible with Joomla 2.5 and Joomla 3, the new generation of the eCommerce solution VirtueMart is now available with many new easing features. Built with the experience of more than 10 years VirtueMart 3 provides you with a powerful and comprehensive eCommerce solution. We give you a flavour of the work we have done to provide you with one of the best open-source e-commerce solution around! This new generation of the ecommerce platform VirtueMart includes many new features under the hood and...

    Read More ...

VirtueMart 2 offers an extensive list of features as standard to enable shop owners to build a working shopping cart, the non-exhaustive list is below:

Please note that you can extend your VirtueMart shop using Plugins, Components, Templates and Modules!

Don't forget to visit extensions.virtuemart.net for more a list of available extensions.

For Customers

Greeted by its native language, a customer directly feels welcome.

Nested categories help your customer to get a structure of the shop. Different templates and layouts per category can create various look and feel.

The advanced SEM/SEO due metatags for categories, products, manufacturers, and medias helps the customer to find the wares via search engines. Customers can pass sef links to friends and can easily find the right tab due the page titles. Even if they mistype a link or use an outdated link, they will get a nice fallback page (for example the regarding category) and the searchengines get the 404.

A short description gives a fast oversight while browsing the store. There is a long description available for the interested customer on a product details page.

Multiple media (images, pdfs, videos,...) give the customer a good oversight of the product. 

Related categories, products show the customer directly other fitting products. This a very good extra service which helps your customer to buy a good set of items (for example a printer and the right toner for it) and increases the volume of the merchant.

The native review and rating system is enhancing the customer experience and gives them a guideline if the product is the right item for them.

Shoppergroups individualize the shopping experience. It can change the price display/format/calculation for them. For example the B2C customer sees the prices with tax, while the B2B customers sees the prices directly without tax. Or returning customers directly get a discount of 5%.

The view, in which the shopper is entering his data, can be easily adjusted to the cultur, national laws or just habits of the targeted audience. For example pure B2C shops can remove the "company" field, while others remove the "second name" field. A pizza service realised with virtuemart would remove the country/state field and enter already a city as default.

The multicurrency system allows to choose a desired currency with a format the shopper is used to. So the customer can faster decide if the product is in the desired price range.

The cart checkout allows to checkout with registration or without. Different templates and/or extensions allow a multipage checkout or one page checkout. The cart can be adjusted to the customers need. If the customers come mainly from a default country, it can be prefilled. This can be done also automatically by IP with an extension for a pocket money. The shipment and payment methods can have different conditions, so that a customer sees only methods that are available for him (by weight, zip, country, currency, payment amount, shoppergroup and so on). 

Returning customers can of course reuse their address. They can also send a product and use as shipment address.

Orders are always trackable, regardless registration.

Different groups of products like "latest", "topten", "newest", "featured" give a fast impression and guide the customer to the best offers in the store. All lists are sortable and searchable. Customers can search for products by a certain category, manufacturer, attribute and of course descriptions.

Customers like to feel important using a coupon or similar marketing tools

Since 26th May 2012, All websites across the EU are now required to ask your permission to place cookies on your machine (E-Privacy Directive 2009/136/EC).

The EU Cookie Directive is designed to increase consumer protection. It recognizes the importance and usefulness of cookies for the functioning of a web site but requires websites to obtain informed consent from visitors before they store information on a computer or any web connected device.

This is storage is mostly done by cookies, which can then be used for tracking visitors to a site. We only use it within the EU law. You can choose whether or not to allow the site to use cookies in this way, but you should be aware that if you do not allow cookies you may experience a loss of site functionality in many cases, and some services will not work at all unless cookies are allowed. 

At the top of this website, a message is displayed to warn you that our website uses cookies. This message will be displayed until you agree our site using cookies by clicking on the Agree button.

Read more: DIRECTIVE 2009/136/EC OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL

VirtueMart is a project

VirtueMart is a project. Everyone is invited to be part of the project. The goal of the project is to provide the best free ecommerce solution, which is competitive to all other ecommerce solutions. The real goal behind this is to create a better world. We egalize possibilities. This does not not mean that we can help everyone for free. We provide the base environment everyone for free, what you can do with it depends only on you.

Being part of the project

Often we are asked how to join the project. It is more like a scene than a club. When you wanna join, just read, join the conversation, talk with us in the forum. Provide snippets, help other people, ask constructive questions. Being part of the virtuemart community is not possesing any membership like joining the local dog club. Joining the virtuemart community means to join us, the people behind it. Sometimes we read that the virtuemart project is not transparent, we use no roadmap, no tracker. Yes on the first view this right, on the second view the reason behind all this is that we try to minimize the waterhead coming due organisation of such an amount of people. Isnt that more a reason for a tracker or a roadmap? In fact we have a kind of tracker, and we have a roadmap. The idea behind of it is a system using priorities. We noticed that the priorities are changing faster than you can write them down. People being part of the community know the tracker (our forum) and they know where to find our roadmaps (forum, news).

When you want to join the team and to be listed on dev.virtuemart.net, then the work in the forum is almost for everyone a duty. People helping in the forum are usually invited by us directly. If you feel ignored, write a private message to Milbo (Max Milbers).

The forums

Most threads are been answered by moderators or passionate users, but sometimes it happens that some threads got completely ignored. We have thought about how this happens and have asked our moderators to find ways to prevent it. We feel the reasons are quite simple, the core developers (Valerie and Max) should not spend their time checking the forum, because we need this time to develop the core, of course we take a look every 1-2 days, but some days a thread is pushed on the second page within hours, because of the volume of active people.

The core developers and supporters are mostly Europeans and so it can be very likely that we just don’t see them as often as users need, however many of the answers have been supplied by the community.

Over the past an amazing number of patches have been created by the community (GREAT WORK thank you), so if there is a thread in the forum that’s regularly updated, moderators just assume that people find a solution themselves, whilst other moderators think that code snippets are professional talk. Another misconception and one of the biggest problems, is that people often claim they have bugs, when this is merely a product of misconfiguration, and on the other side of the coin, we think it is just a misconfiguration, when in fact it is a bug or missing feature. This is a confusion we are trying to address. But in majority the community has helped us to create the great product VirtueMart 2, which has evolved into and one we are proud to use.

So in conclusion

So in conclusion, many people have helped, the speed of growth with development and patches has been astounding, with slight cracks appearing in the way people perceive the forum, a perception that we ignore posts, or avoid answering, but this is not a case of ignoring anyone, or any thread, if there is a live thread and the team seems to ignore it, remind yourself, the team never ignores something on purpose, just write a short pm (without swearing if possible) to me. We believe Vm2 is more flexible and mightier than vm1, so most people can get a shop working using only 30% of the features and everyone uses different 30%.

You can create some beautiful content by using some simple HTML elements. The Warp theme framework offers some neat styles for all HTML elements and a great set of CSS classes to style your content. Basic HTML is very easy to learn and this small guide shows you how to use all styles provided by the Warp framework.

Basic HTML Elements

Here is a short demonstration of text-level semanticts. The <p> element creates a new paragraph. It will have some space before and after itself. To turn your text into hypertext just use the <a> element.

Text-Level Semantics

You can emphasize text using the <em> element or to imply any extra importance the <strong> element. Highlight text with no semantic meaning using the <mark> element. Markup document changes like inserted or deleted text with the <del> element or <ins> element. To define an abbreviation use the <abbr> element and to define a definition term use the <dfn> element.

Short List with Links

  • YOOtheme - Premium Joomla Templates and WordPress Themes
  • Warp Framework - Fast and Slick Theme Framework
  • ZOO - Content Application Builder
  • Stock Icons - For Web and Print Projects

Quotations and Code

Inline quotations can be defined by using the <q> element.

The <blockquote> element defines a long quotation which also creates a new block by inserting white space before and after the blockquote element.

To define a short inline computer code use the <code> element. For a larger code snippet use the <pre> element which defines preformatted text. It creates a new text block which preserves both spaces and line breaks.

pre {
    margin: 15px 0;
    padding: 10px;
    font-family: "Courier New", Courier, monospace;
    font-size: 12px;
    line-height: 18px;
    white-space: pre-wrap;
}

Use the <small> element for side comments and small print.


Useful CSS Classes

Here is a short demonstration of all style related CSS classes provided by the Warp framework.

Highlight Content

Drop caps are the first letter of a paragraph which are displayed bigger than the rest of the text. You can create a drop cap using the CSS class dropcap. To emphasize text with some small boxes use <em> element with the CSS class box.

This simple box is intended to group large parts of your content using the CSS class box-content.
This is a simple box to highlight some text using the CSS class box-note.
This is a simple box with useful information using the CSS class box-info.
This is a simple box with important notes and warnings using the CSS class box-warning.
This is a simple box with additional hints using the CSS class box-hint.
This is a simple box with download information using the CSS class box-download.

Use the CSS class dotted to create a dotted horizontal rule.


Tables

Create a zebra stripped table using using the CSS class zebra.

Table caption
Table HeadingTable HeadingTable Heading
Table Footer Table Footer Table Footer
Table Data Table Data Data Centered
Data Bold Table Data Data Centered
Table Data Table Data Data Centered

Definition Lists

Create a nice looking definition list separated with a line by using the CSS class separator.

Definition List
A definition list is a list of terms and corresponding definitions. To create a definition list use the <dl> element in conjunction with <dt> to define the definition term and <dd> to define the definition description.
Definition Term
This is a definition description.
Definition Term
This is a definition description.
This is another definition description.

Forms

Create a clearly arranged form layout with fieldset boxes using the CSS class box.

Form legend

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

Testimonial

everything is a breeze. Everything is where its supposed to be in the config area and the extension is simply amazing. Not enough stars - too bad, cos VirtueMart deserves 10 stars!