If you’ve read my previous post about Opencart 3.0.x. You’ll know that I didn’t like it, but I have a lot of Opencart-based websites so I know that sooner or later I will need to update those sites that are still on 1.5.x version. My Opencart websites are very simple and basic, I used them to sell and get paid via Paypal, pretty straight forward function. I don’t do too much customization on the functions etc. So since I mostly only customize the look of the website, I have decided that I do not want to upgrade everything to Opencart 3.0 for now (yes, I know sooner or later I will need to upgrade due to the bugs, security issues etc. but for now I won’t, I am stubborn like that!)
What I did is update all my 1.5 versions to the latest 2.3.x version of Opencart. The upgrade is really simple, upload the files, overwrite the old ones, install the update. 🙂 Easy right? But after installing the update you will usually get this error on your frontend:
Fatal error: Uncaught Exception: Error: Could not load model total! in /yourdirectory/system/engine/loader.php:169 Stack trace: #0 /yourdirectory/system/engine/proxy.php(25): Loader->{closure}(Array, Array) #1 /yourdirectory/catalog/controller/common/cart.php(37): Proxy->__call(‘getTotal’, Array) #2 /yourdirectory/system/engine/action.php(51): ControllerCommonCart->index(Array) #3 /yourdirectory/system/engine/loader.php(24): Action->execute(Object(Registry), Array) #4 /yourdirectory/catalog/controller/common/header.php(129): Loader->controller(‘common/cart’) #5 /yourdirectory/system/engine/action.php(51): ControllerCommonHeader->index(Array) #6 /yourdirectory/system/engine/loader.php(24): Action->execute(Object(Registry), Array) #7 in /yourdirectory/system/engine/loader.php on line 169
and double shipping and payment modules on the backend.
These are caused by the left over folders from the 1.5.x installation, all you have to do is delete the following folder from your Opencart directory:
- catalog/model/total
- catalog/model/payment
- catalog/controller/payment
- catalog/model/shipping
- catalog/controller/module
- admin/controller/total
- admin/controller/payment
- admin/controller/shipping
- admin/controller/module
That’s it! Make sure that you also delete your /install/ folder and clear your browser cookies and cache before loading the updated frontend and backend. 🙂