Product Matrix is one of our best selling extensions and we find that in most circumstances there are no issues with installation and getting the most out of it. However if you do come across an issue this troubleshooting section should provide you with the guidance you need.
If after you have referenced this page, you still can't resolve the issue, then please contact us directly and we will try to help you. Alternatively run a search or check our general troubleshooting section.
No Shipping Methods are Available
There are a number of reasons you will see this error, please use the list below:
- You CSV file is corrupt and has not uploaded. To check the file has uploaded look at the database table `
shipping_productmatrix` and ensure it is populated.
- You have a scenario in your cart that isn't catered for in the CSV file, check you CSV file to ensure it makes sense. Remember the item from field is a `greater than` field so putting `1` in that field is usually incorrect. You should use an asterisk `*`.
- Your `
package_id` attribute in Magento (it is the one that shows on your product listing under shipping) does not match the one in your CSV file. These must be identical including case for the extension to work correctly. If package_id is not searchable in Manage Attributes, disable the cache or drop the
productmatrix_setup entry from
core_resource in the database to force the SQL to re-run.
- You may also not have associated the product to the shipping group. If there is no `Shipping` tab in the product listing and you are using multiple attribute sets, you need to add a new `Shipping` group and `package_id` to that group in each additional attribute set.
- You have entered values for the attribute `package_id` on a store level rather than a global level. You should only enter values globally as in the diagram below. Please see our attributes page for full information on attribute setup.
- Check your weights, prices and quantities in your CSV file are valid for the products you have in your cart.
Remember: the extension does not look at units of measurement so if you have a product that is 5grams (entered 5 in weight) and in your CSV file you have entered 5 meaning kilos; the extension does not know this, it is only looking at the number.
- Check the serial key field is not empty in your Product Matrix settings. If it is, then it is not validating and no rates will show. See here for instructions. Please remember that unless you are requesting a rate from Product Matrix, the serial key will not validate and hence, if it is invalid, it will be erased after the rate has been requested.
- If you can get rates with just one item in the cart but not multiple, see the use of Priorities in the CSV tutorial or the priorities screencast.
If you are using a Mac, and are using Excel on a Mac can you make sure you save the files in Windows CSV format. This is a known issue, and documented by Magento for tax imports here
You can confirm this issue by looking in the table where the csv file is uploaded. The table name is likely to be
- If you are unable to resolve from any of the above please check the general troubleshooting, and then try sending us your debug output. Instructions for doing can be found here.
Getting Shipping Price from the Product Listing
This is a rough guide on getting the shipping price for a product in the product listing. It is not an exact science and does involve coding. Contact us on sales if you do not have the relevant files required.
- Install ProductMatrix
- Unzip the file "product listing display.zip"
- Place layout/productmatrix.xml in your theme's layout directory
- Place template/productmatrix directory in your theme's template directory
- Refresh cache
- Check product listing view
Here is what is going on:
- layout file - this refers to the block to be used and the phtml, also says where to place the data, in this case we are putting it in product.info.additional but it could be elsewhere
- app/code/local/Webshopapps/ProductMatrix/Block/ShippingOptions.php - this is where it will retrieve the rates - you can add/amend methods here as appropriate
- phtml file - this uses methods in Shippingoptions.php
- app\code\local\Webshopapps\Productmatrix\Model\Mysql4\Carrier\Productmatrix\Collection.php - this is where the sql is constructed - in here for instance I added the method to allow region filtering
You will need to modify ShippingOptions.php, and possibly Collection.php if you are trying to do anything fancy.
Filtering Based on Weight, Price, or #Items - Common Mistakes
The most common mistake people make is not understanding how the From/To ranges work.
The extension matches on products where the weight is greater than the Weight From
field and less than or equal to the Weight To
field. I.e. Weight From > and Weight To <=
In the example CSV files attached in the one marked wrong
it has a missing weight range of 100, so if the cart has products weighing exactly 100lbs no shipping rates will be found. This is the one marked correctly
Adding a Weight Based Surcharge
You may wish to add a weight based surcharge to your shipping options.
This is possible using the algorithm field in your CSV file using the algorithm W or WC(which rounds the weight up)
For example to add a surcharge of $5.95 per Kg you can add Wfirstname.lastname@example.org to the algorithm field or add WCemail@example.com.
Using WC means the weight is always rounded up to a whole Kg (or whatever your unit of measure is) so for example 1.2Kg would become 2Kg.
Please see the attached CSV file here for an example.
Not Getting Correct Rates For Weight Based Surcharge
A common mistake we see in customer's tables is the unexpected results of from-to filtering using the Weight Algorithm.
A customer is expecting the following behaviour for a product weighing 132kg:
(132*0.4)+3 = 55.8 but is actually
getting, ((132-100)*0.4)+3 = 15.8
This is because the algorithm is offset by the weight from
field beginning at 100. So the algorithm counts from 132-100 = 32.
To fix this problem, calculate the price for an item weighing 100KG at the previous rate of 0.4 - assuming this is the logic you will use. (100*0.4)+3
= 43 , so the shipping price on row 2 starts from 43.
Assign a Shipping Group to a Product
In the product listing there should be a tab called shipping with an attribute called shipping group (package_id). If you dont see this then you need to update in your attribute set. See the default set for example.
What is the Shipping Quantity Attribute?
Under the Shipping tab in product listing you may see a Shipping Qty field. For 99.9% of Product Matrix users this field is irelevant, so if you don't know what it is then it's probably best ignored!
The place where it is of use is if you want to have one shipping group for a particular product that can come in multiple quantities. For example say you sell wine by the bottle and by the case. If the customer buys a case of 12 then the number of items in cart would be 1, but you might want this to be seen as 12 in the shipping calculations. So the Shipping Qty would be set to 12.
Google Checkout Compatibility
As of version 10.3, Product Matrix is fully compatible with Google checkout on Mage 1.4 upwards. For information on how to configure Google Checkout for versions below (1.3) please see the FAQ.
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'x.catalog_eav_attribute' doesn't exist
Error in file: "/.../htdocs/app/code/local/Auctionmaid/Productmatrix/sql/productmatrix_setup/mysql4-install-3.0.2.php" - SQLSTATE[42S02]: Base table or view not found: 1146 Table 'x.catalog_eav_attribute' doesn't exist
If you see this error message it means you are trying to put a Magento 1.4.* compatable ProductMatrix version on a 1.3.* release of Magento.
Get the correct version and overlay on the existing files - it will be fine. Make sure cache is disabled.
Where is the CSV File saved?
The table shipping_productmatrix which can be found in phpmyadmin.
What does "Apply package id '*' to all items in cart" mean?
In the csv file you can set the package id to be * which can mean 2 things based on the setting "Apply package id '*' to all items in cart" in Product Matrix Shipping Method configuration:
- Apply these rates to ALL items in the cart
- Apply these rates to all items in the cart that DO NOT have a shipping group/package id assigned
An example usage where you have the flag set to YES (i.e. apply to all items in cart) is if you say want to offer the customer standard shipping based on total cart weight and price for all items, but then if the customer selects a SPECIAL item - i.e. one with package_id SPECIAL, then a surcharge is added.
An example where flag is set to NO would be in the same scenario as above, but where if SPECIAL item was selected you then wanted to force the customer to use more expensive Courier shipping.