VirtueMart
Speed up product import
When you have a large number of products in your VirtueMart shop the import will take it's sweet time to finish. There are ways to speed up the import, one of the ways is to make use of indexes on your tables. An index can be seen as a list that the database keeps to remember where to find which item.
Product table index
CSVI uses the product SKU as a unique identifier to identify a product. Adding an index on this field will be beneficial because it allows the database to find the product faster as it then keeps a list of all your products. To add an index on the product_sku field we need to take the following steps using PhpMyAdmin.
- Go to PhpMyAdmin
- Go to the database that contains your site
- Go to the virtuemart_products table Structure page
- Click on the Indexes link (this is a bit obscure but it is above the Information table)
- There will be a line below the indexes that says "Create an index on 1 columns" with a Go button. Click the Go button.
- A popup will appear with a form to enter some information. Enter the following information:
- Index name: product_sku
- Index choice: Unique
We set this to unique to be sure there won't be any duplicate SKUs in the database - Column: Select the product_sku column
- Size: 25
- Click on Go
- The index is now created.
VirtueMart Calculation Rules export
This VirtueMart Calculation Rules export tutorial explains how to setup the fields and export the VirtueMart calculation rules.
VirtueMart Product Image Fields
This page shows which VirtueMart Product Image fields you can use for import and export.
Why are my products not showing up?
There are several reasons why products are not showing up after an import. Here is a list of possible causes:
- No slug set
When a product has no slug, VirtueMart will show a Product not found message - Not published
On import, you need to set the published field to Y or 1. Not including this field leaves the product unpublished even if VirtueMart shows it as published - No matching shopper group
Products can be linked to a specific shopper group, if there is no shopper group match, VirtueMart will not show the product - Incorrect language
After you have imported products and go to VirtueMart to check and see if they are there you might find that no products show up. The reason for this is that VirtueMart uses a different language than what you imported them in. For example, your site has 2 languages, English and Dutch where English is your site default language.(Extensions -> Language manager)
After you import your first products in the Dutch language, VirtueMart won't show them because it is looking for English products. To see the list of Dutch products you need to go to Extensions -> Language manager and set your Site language to Dutch as default. Now go back to VirtueMart and your products will show up.
Products and shopper groups
Requirements
CSVI Pro 5.8+
CSVI Free 4.5.2+
VirtueMart 2.0.16+
VirtueMart can show products to specific shopper groups, to import this relation the field shopper_group_name needs to be used. Multiple shopper groups can be used also by separating them with a pipe symbol.
Sample CSV
This sample CSV assigns product G01 to the shopper group Gold Level
"product_sku";"shopper_group_name"
"G01";"Gold Level"
This sample CSV assigns product G01 to the shopper group Gold Level and -default-
"product_sku";"shopper_group_name"
"G01";"Gold Level|-default-"