I decided to opt for a relatively low cost extension to import my products into the database via CSV, rather than write an entirely new product importer from scatch. For the most part, it does everything I need it to do. I had to write another small PHP script to format the CSV feed to some of the product importer’s specifications though, as the importer only has one secondary image field, but the field does accept multiple image locations split by a custom delimiter. With the amount of secondary images and products I had to import, it was quicker to write something that would combine all the secondary images into a single string split by the custom delimiter, and insert an additional column into the CSV file. As I’ve done extensive work with PHP and CSV files in the past, I already had most of the necessary functions.
The products have now been imported into the website, but they will require some manual editing, as the descriptions provided by the product feed weren’t html formatted.
Today I’ve been looking at the shipping options for the store, and I’ve finished setting those up using the built-in “Weight Based Shipping” module in OpenCart. It’s a little too basic for my needs, though, so I’ve already picked out a suitable extension that will provide additional flexibility, which I’ll install tomorrow.
I’ve also fixed two major issues that I’ve had with OpenCart 2.0. The first problem was with installing new extensions. I was constantly getting “method not implemented” errors every time I tried to install an extension from a zip file. The problem turned out to be with how OpenCart handles uploads. If you don’t configure it to use FTP, it can’t handle zip files. I got around the problem by using a small extension that bypasses the need for an FTP connection.
The second problem was with not being able to modify customer orders, which meant I wasn’t able to change an order from pending to processed. This problem was a little more difficult to figure out as the error message wasn’t particularly clear;
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
It turned out to be a problem with the default .htaccess file that was created in the root of my store’s installation directory. Removing it fixed the problem.
I have a few more extensions left to install and configure, but once that is done, I can focus on the product descriptions, and start testing the store fully by placing a few orders using Paypal’s sandbox mode.
I’ve already decided on a ticket support system for the store. I’ve decided to go with Hesk, which I’ll be manually installing for my customer support system. It was either that, or osCommerce, but as I’ve used osCommerce before, Hesk looks like a much better alternative by comparison, with more features, so I’ll install that fairly soon.