[{TableOfContents}]
!!!General Information
%%collapsebox
!!What is VirtueMart?
VirtueMart is an Open Source E-Commerce solution (a Component or Plug-in) for the Joomla! and Mambo Content Management Systems.
It can be run as a Shopping Cart, or in Catalog mode.
%%information You need to install Joomla! or Mambo first (as the "Framework"), and then install & configure VirtueMart.%%
%%
%%collapsebox
!!What exactly is VirtueMart?
VirtueMart is your complete Open Source eCommerce solution. It must be
used together with the Content Management System Joomla! (www.joomla.org)
or Mambo. Both are released under the GNU Public License, which means
by the end, they are free for download and use. Joomla! and VirtueMart
are written in PHP and made for easy use in a PHP / MySQL environment.
All you need is to download the latest Joomla distribution from [www.joomla.org|http://www.joomla.org]
and the VirtueMart package from this site. Joomla provides the Core
System and the Framework, which VirtueMart can use. So you can easily
use a complete Shopping Cart Solution within your own dynamic Website
("Portal"), together with many other Plug-Ins, called Components and
Modules, like Forums, FAQ, Guestbooks, Galleries........Change the look and feel of your site by using the Templates for Mambo sites, which use CSS and X/HTML......all
these Templates and Plug-Ins are available on [extensions.joomla.org|http://extensions.joomla.org]
(mostly for free). Even if you think that you don't need a Portal or a
"big" CMS - think about and just try it! You are more flexible with it.
%%
%%collapsebox
!!How much does VirtueMart cost?
VirtueMart is free software released under the GNU General Public License.
No limitations exist for VirtueMart. You can create and maintain a site
with an unlimited number of categories, products, orders, customers,
etc.
%%
%%collapsebox
!!Who is behind VirtueMart?
VirtueMart currently has only a very small team. There are 3 to 5 active developers, who help evolve the Core System and update the
Project's Open Program Sources. There are a lot of developers and
active users on this forum who help pushing this Application forward
into the right direction.
%%
%%collapsebox
!!Where can I find documentation for VirtueMart?
Mostly in this Wiki. We also have a printable documentation, see Downloads => Documentation here on this site.
%%
%%collapsebox
!Joomla / Mambo and VirtueMart - what's the difference?
__Joomla!__ and __Mambo__ are extensible Content Management Systems that can be further enhanced by installing 3rd party Extensions - e.g. Components (like VirtueMart), Modules and Mambots.
__VirtueMart__ is a Joomla! / Mambo component - It requires either Joomla! or Mambo to be already installed on your Server.
The **Joomla! eCommerce Edition** is a modification of the official distribution of Joomla! with VirtueMart already pre-installed - so you don't have to first install and configure Joomla!, and then install VirtueMart.
%%
%%collapsebox
!!I'm totally new to this. Where should I start?
*[http://www.joomla.org|http://www.joomla.org]
Joomla! is a Content Management System (CMS).
It can be installed on your webserver and enables you to manage your
whole website online (dynamic website!). If you need more basic
information, it is recommended to visit the official website.
*[http://joomlacode.org|http://joomlacode.org]
After you have informed yourself about the basics, you should download
Joomla! and install it on your webserver. On joomlacode.org you can
download the latest and older versions of Joomla! and other popular
extensions.
*[http://help.joomla.org|http://help.joomla.org]
The installation process for Joomla! is pretty easy and can be done
even by non skilled persons. However - there is a very good
documentation available covering all aspects of the system.
*[http://forum.joomla.org|http://forum.joomla.org]
If you still have questions or if you are searching for help from the
community, you maybe want to join in some discussions in popular forums.
*[http://extensions.joomla.org|http://extensions.joomla.org]
This is the official Joomla! Extensions Directory Site. If you are
searching for a forum, a gallery, content modules, flash thingies or
such, you should take a look at extensions.joomla.org.
%%
!!!Common Problems
%%collapsebox
!!Joomla! 1.0.13 Save/Apply ⇒ Logged Out Problem
__Problem:__ Joomla! 1.0.13 suffers from a serious and annoying bug, which causes the current Admin Session to be closed (Log out) if you save changes to an item. VirtueMart is also affected by this bug when used with Backend Administration.
__Solution:__ To fix the problem, you need to replace two files.
#Please make sure that you replace the file \\__/includes/joomla.php__ with this version: [joomla.php for Joomla! 1.0.13 (Rev. 8388)|http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&path=%2F%2Acheckout%2A%2Fdevelopment%2Freleases%2F1.0%2Fincludes%2Fjoomla.php&revision=8388].
#Replace the file \\__/administrator/index.php__ with this version: [/administrator/index.php (Rev. 8388)|http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&path=%2F%2Acheckout%2A%2Fdevelopment%2Freleases%2F1.0%2Fadministrator%2Findex.php&revision=8388].
If you have done this, everything should work as expected.
%%warning If you have to change
the file joomla.php after you've done this patch, make sure you keep the modifications
from Rev. 8388! %%
%%
%%collapsebox
!!Image upload problem
Image upload problem, on virtual hosted Joomla! 1.0.13 and VirtueMart 1.0.12.
__Prerequisites:__ If you are running Joomla! 1.0.13 and VirtueMart 1.0.12
you must patch the hotfixes, before proceeding. Also replace the
following code to the ps_main.php file. (Thanks digitalcobweb and
etilly)
Code for ps_main.php
{{{/* Command to move uploaded file into destination directory */
$temp_file2 = (addslashes(realpath($temp_file)) ==""? $temp_file : addslashes(realpath($temp_file)));
$d["image_commands"][] = "\$ret = copy(\"".$temp_file2."\", \"".$path.$to_file."\");";
$d["image_commands"][] =
"\$ret = @move_uploaded_file(\"".addslashes(realpath($temp_file))."\", \"".$path.$to_file."\");
if( \$ret === false ) {
\$ret = copy(\"".addslashes(realpath($temp_file))."\", \"".$path.$to_file."\");
}";
$d["image_commands"][] = "if( file_exists( realpath(\"$temp_file\") )) {
\$ret = @unlink(\"".addslashes(realpath($temp_file))."\" );
}
else {
\$ret = true;
}";
*/
/* Return new image file name */
$d[$field_name] = $to_file;
return true;
}}}}
__ Background:__ Really this is *not* a bug with Joomla! or VirtueMart, it is a Feature of PHP. By default (for Unix/Linux) PHP
wants to store any temporary files in the absolute path /tmp. This
creates a problem for virtual hosted sites, because we see /tmp as
being something like {{/home/vhost/username/tmp}} where as PHP sees {{/tmp}} as {{/tmp}}.
This is the original error I received:
''Error code''
{{{Warning: getimagesize(): open_basedir restriction in effect. File(/tmp/phptxkDSP) is not within the allowed path(s):
(/.../) in /.../administrator/components/com_virtuemart/classes/ps_main.php on line 70
Warning: getimagesize(/tmp/phptxkDSP): failed to open stream:
Operation not permitted in /.../administrator/components/com_virtuemart/classes/ps_main.php on line 70
Warning: getimagesize(): open_basedir restriction in effect. File(/tmp/phptxkDSP) is not within the allowed path(s):
(/.../) in /.../administrator/components/com_virtuemart/classes/ps_main.php on line 70
Warning: getimagesize(/tmp/phptxkDSP): failed to open stream:
Operation not permitted in /.../administrator/components/com_virtuemart/classes/ps_main.php on line 70
Error: Cannot read uploaded full image temp file: /tmp/phptxkDSP.
One common reason for this that the upload path cannot be accessed
because of the open_basedir settings in the php.ini. Or maybe the
directory for temporary upload files on this server is not readable.
'[See the /tmp/phptxkDSP that is the clue there was something wrong with the path.]'}}}
__Problem:__ The default temporary path for PHP needs to be overridden in the php.ini file.
__Solution:__ Edit the php.ini file by adding the following two lines and
replacing [your web home directory] with the absolute path on your
server to your virtual /tmp
''Add this to php.ini''
{{{session.save_path = /[your web home directory]/tmp
upload_tmp_dir = /[your web home directory]/tmp}}}
Follow-up: Make sure you have or create a tmp directory in your web root.
Conclusion: This works for GoDaddy VirtueMart 1.0.12 with Joomla
1.0.13 hotfix and the ps_main.php fix. I’m not sure if the
{{session.save_path}} is really needed, but I don’t have time to check.
!!Module Positions don't work with VirtueMart
For correct functionality of modules appearing on VirtueMart pages
you must create a menu link to the VirtueMart component. Without this
Joomla has no idea that VirtueMart is being used and can't, for
example, change template or assign specific modules on VirtueMart
pages.
If you don't want an actual menu link, just create a new menu and
publish a link to the VirtueMart component. This will create a new
Joomla menu module. Don't publish this module! The link has been
published but the menu is not displayed.
REMEMBER - Joomla assigns modules to components, not to component
pages. If you assign a module to VirtueMart it will display on all
VirtueMart Pages. This is the same for all Joomla components that have
multiple pages.
%%
%%collapsebox
!!Number of products per row don't change
Products per row and flypage set in the main configuration are the
default settings for new categories. They do not alter existing
categories.
To alter the number of products per row or the flypages they use, you have to edit the category the products are in.
%%
%%collapsebox
!!Product Attributes
Product attributes must be entered as a continuous string with no line breaks.
e.g. Color,red,green,blue;Size,S,M,L
not
Color,red,green,blue; \\
Size,S,M,L
Failure to do so will not put the second attribute into the cart and
you will not be able to update or delete products from the cart.
%%
%%collapsebox
!!Advanced Attribute and Discount Prices - TAX
Prices entered for the advanced attributes and discounts should be
entered as their value without tax. The reason for this is to allow
stores that use multiple tax rates to display the correct values
dependent on the shopper \\
e.g. \\
shopper from state A sees prices with tax at 8% \\
shopper from state B sees prices with tax at 10%
%%
%%collapsebox
!!There was an error uploading this file to the server.
[!error-uploading-file.png!]\\
The error message occurs because allowed file upload size is 2MB or less, to fix this in php.ini find 'upload_max_filesize' increase the assigned file size value to 32M or higher, you might need to contact your host and requested them to change this. \\
{{{; Maximum allowed size for uploaded files.
upload_max_filesize = 32M}}}
If you are on shared hosting and your host is unwilling to increase the file upload size or for any reason you have no access to php.ini you could try increasing the file upload size via .htaccess file of your website's root, add the following entry into .htaccess file. \\
{{{# increase up upload limit for files
php_value upload_max_filesize 32M}}}
%%
%%collapsebox
!!JFolder::create: Infinite loop detected.
Check the location of the ''temporary folder'' in your __configuration.php__ - does the directory exist, is the path correct?
Mostly this error is due to a wrong __/joomla/tmp__ folder or misconfiguration of the Session Save Path.
%%
%%collapsebox
!!User registration and various messages do not show.
This is not a VirtueMart issue but template, add following code to index.php file of you Joomla 1.5 template, where in index.php well that depends to your template, contact template designer, but usually before .\\
{{{}}}
%%
!!!Tips and Tricks
%%collapsebox
!!Ajax Add to Cart (pop-up) display time
[http://virtuemartdonationbasehelp.protechsystems.us/images/stories/virtuemart/popup_add-to-cart.png]\\
Edit theme.js in ROOT/components/com_virtuemart/themes/default/theme.js
Search for\\
{{{setTimeout( 'document.boxB.close()', 3000 );}}}
Replace __3000__ (The higher the value the longer popup window will stay open).
%%
%%collapsebox
!! Change Ajax Add to Cart color
[http://virtuemartdonationbasehelp.protechsystems.us/images/stories/virtuemart/popup_add-to-cart.png]\\
Edit theme.css in ROOT/components/com_virtuemart/themes/default/theme.css\\
{{{.shop_error, .shop_warning, .shop_info, .shop_debug, .shop_critical, .shop_tip {
background-color:#FAFAD2;
background-position:left 5px;
background-repeat:no-repeat;
border-color:#AACCAA;
border-style:dotted none;
border-width:1px 0pt;
font-weight: 900;
margin:1pt 1pt 1em 1em;
padding:0.5em 1em 1.5em 48px;
}
}}}
%%
%%collapsebox
!! Change Category View
When a store has more than 200 categories, in add/edit product the category view is different this is to reduce the wait time required for loading of all the categories.\\
[http://www.protechsystems.us/stuff/joomla/category-200plus.png]\\
\\
To add a product to a category you should type the first 4 letters of that category. The list of categories will show, select the category from the list.\\
[http://www.protechsystems.us/stuff/joomla/category-200plus-select.png]\\
\\
To change the view back to\\
[http://www.protechsystems.us/stuff/joomla/category-200less.png]\\
\\
Edit product.product_form.php in ROOT/administrator/components/com_virtuemart/html/product.product_form.php\\
Search for\\
{{{if( $number_of_categories > 200 ) {}}}
Replace __200__ to whatever number you want.
%%
%%collapsebox
!!Remove/hide quantity arrow buttons
To remove/hide quantity arrow buttons from browse and flypage\\
[http://www.protechsystems.us/stuff/joomla/quantity-arrow-button.png]\\
Edit quantity_box_general.tpl.php in ROOT/components/com_virtuemart/themes/default/templates/product_details/includes/quantity_box_general.tpl.php
Search for\\
{{{
}}}
Delete the above code.\\
[http://www.protechsystems.us/stuff/joomla/quantity-arrow-button-no.png]\\
%%