Project: Paristic
Porting a custom Joomla/VirtueMart based brand to PrestaShop with over 600 products, and 33,000 combinations.
A store specializing in customisable vinyl prints. This project required close attention to the already customised VirtueMart installation where product sizes, languages, orientations, and colours could be customised on the fly with an HTML5 Canvas interface (previously migrated from a Flash based version). The site was to also be completely redesigned with a responsive layout.
Full database migration
The shop had been established for some years, so a seamless transition of everything from product attributes down to every detail on customer orders was imperative. This would be achieved with a custom built database migration script.
With the PrestaShop platform, I decided to stick with the native product attributes functionality where images could be produced for each possible combination. With the original product images being solid single colour shapes, I was able to write a GD library based script to create the colourized versions as needed, and a custom built magnifying glass feature on the product pages to see the details of the various vinyl designs.
Custom products, with attributes created before adding to cart
The trickiest part of the entire project were the custom products, where one was based entirely on text input from the customer and the price was based on the number of characters and chosen size of the print. This required a new product attribute to be created before the product can even be added to the cart, while also allowing for the custom creations to be featured within other modules for recommendations. Luckily with PrestaShop’s hook system, all of this could just about be achieved with a tailor built module!
Before Prestashop
The shop was using a tailor built flash based product customisation interface, which provided basic zoom and a preview of product with simulated colours.
With HTML5 replacing Flash, the task was to port to HTML5 and provide the growing number of tablet and mobile users with the same features. With minimal theme modifications, a JavaScript interface was built to provide this.