Using the CartThrob Updater Module to Upgrade from Version 1 to 2

Step By Step Instructions

  1. Update your CartThrob 1 to the latest version
  2. Upgrade EE1 to EE2!
  3. If you are using Pixel and Tonic's Matrix or FF Matrix, please upgrade to the latest version.
  4. Install the CartThrob2 files into system/expressionengine/third_party/ and themes/third_party/, but DO NOT proceed to enable the extension or visit the module's settings page in the control panel yet.
  5. Upload the CartThrob2 Updater files into system/expressionengine/third_party/ and install the CartThrob Updater module in the control panel, then click on CartThrob Updater on your modules page.
  6. You will be asked to backup your database. This is so you can roll back to your EE2 install state just before you attempted to update CartThrob, rather than have to roll all the way to your original EE1 backup.
  7. You are presented with two options: one option will do a string replace on all of your templates, changing {option} to {option_value}^1^. This only affects templates in the DB, so if you use files (I know you do), you'll have to do a template sync once the Updater is finished. The second option updates P&T Matrix columns named option to option_value. This only works with Matrix, not FF Matrix. If you use FF Matrix you'll need to upgrade to Matrix first. These are both optional, if you choose not to use them, you'll have to manually make these changes yourself.
  8. Run the updater. Now you're done and it's on to testing…

1. In CartThrob2 we made a subtle, but necessary change in the the template tags for Price Modifiers. What was once {option} is now {option_value}. This change needs to be made in existing CartThrob1 templates.

Updating your templates

This is a list of deprecated tags, and their suggested replacement. It's doubtful that you use many of these.

  • action - add_to_cart, delete_from_cart, or change_quantity
  • jquery_plugin - deprecated
  • jquery_plugin_src - deprecated
  • use_coupon - deprecated
  • view_convert_currency - view_converted_currency
  • cart_count - total_items_count
  • total_items - total_items_count
  • total_unique_items - unique_items_count
  • cart_debug - debug_info
  • convert_currency - view_converted_currency
  • coupon_code_form - add_coupon_form
  • force_ssl - deprecated
  • force_https - deprecated
  • https_redirect - use a combo of htaccess redirects and secure_action/secure_return form parameters
  • has_purchased - is_purchased_item
  • item_in_cart - is_in_cart
  • number_format - view_formatted_number
  • order_detail - submitted_order_info
  • order_info - submitted_order_info
  • powered_by - deprecated
  • products_in_price_range - get_items_in_range
  • save_shipping_options - deprecated
  • saved_customer_info - customer_info
  • shipping_option - selected_shipping_option
  • shipping_options - get_shipping_options
  • validate_coupon_code - deprecated
  • total - cart_total
  • view_cart - cart_items_info
  • update_item_form - update_cart_form
  • save_customer_info - update_cart_form
  • download_file - download_file_form
  • delete_from_cart_form - update_cart_form
  • view_download_link - download_file_form

A few other changes: The arithmetic tag now includes the expression parameter, where you can type out your own full arithmetic expression. delete_from_cart and delete_from_cart form no longer accept an entry_id, you must use a row_id. mulit_add_to_cart_form parse order has changed a bit, see the example at the bottom of the docs page.