VirtueMart Developer Portal

         
Frequently Asked Questions
Version 20 (diff)   (Dec 09 2009 08:39 by soeren_nb) | 2 comments and attachments   (Oct 15 2009 01:28 by Stephen Brandon) | 1 child page
Tags:   Documentation; FAQ; Problems
All Tags...
[DOC:1264]
java.lang.NullPointerException</pre>
		

		
[ properties ] [ hide ]
[{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]\\ %%
java.lang.NullPointerException</pre>