This page is intended to make you aware of upgrade issues you may face, and how to resolve them.
Don't forget to run the following url commands when you upgrade the shop module:
Images are lost
This is because Product images are now Image DataObjects, instead of Product_Image DataObjects. Try running the ShopMigrationTask.
'FeaturedProduct' field renamed to 'Featured' on Product model
OrderForm checkout template variable has been replaced with Form
Also note that the OrderForm class is gone, and we now have CheckoutForm.
Prices are missing
I've renamed Price database field to BasePrice, as part of work to make pricing system more flexible. Try running the ShopMigrationTask.
Variation Attribute Types are lost
The Product->VariataionAttributes() relationship was renamed to Product->VariationAttributeTypes() Try running mysite/dev/tasks/ShopMigrationTask, or if that fails, rename the database table manually: Product_VariationAttributes becomes Product_VariationAttributeTypes
CSS is lost / templates
CSS files are now expected to be included by templates, or by your own page / decorator requirements. This change was made to allow flexibility of what css files to include. All the default templates now have requires statements like this:
<% require themedCSS(product,shop) %>
To fix in your site, update your templates to include the appropriate css files as per above. If you want a more advanced solution, you could add requirements calls to your Page_Controller init function, or use an extension.
If you have written custom modifiers, or are using old modifiers, they may stop working properly.
- Values not showing up
- Values not being added to total
If the modifier has an Amount field, this should be deprecated and replaced with a value field, which takes an $incoming argument.
older / other
Payment values / amounts have gone missing
The payment module switched the "Amount" field from using the Currency DBField to Money. Money is a CompositeDBField that combines AmountAmmount and AmountCurrency. The "Currency" field was also dropped. Related diff
To fix: rename your database Amount column to AmountAmount, and your Currency column to AmountCurrency.