Products Variations and User Uploads - Part I: By: Muhammad Zeeshan Ali
Products Variations and User Uploads - Part I: By: Muhammad Zeeshan Ali
1
Giving Users Choice
• Many products in e-commerce stores require some sort of
choice from the customer, be it the size, color, or even the
material.
• At the moment, we only have very basic products, which
can simply be viewed by our customers.
• We need to extend this to allow customers to see
variations of products, and to be able to choose their own
variation of the product, before purchasing it.
2
Giving Users Choice …
• Simple Variants:
– The simplest form of variant would be a single drop-down box
of variations of a product.
– If we took t-shirts as an example, we would just have a
variation of size.
– This would be quite simple to implement.
– When we create our database table for items in the shopping
basket; it needs only an extra field to record the variant the user
is purchasing.
3
Giving Users Choice …
• How could this work?
– firstly we would need a list of possible variations
– secondly we would need to associate these with various
products along with any additional cost implications they would
have on the product.
4
Giving Users Choice …
• Combinations of Variants
– simple variants are quite limiting.
– If we want to have variations of both size and color,
administrators would need to create a variant for each
combination of these.
– When it comes to developing our shopping basket later,
however, there will obviously be some additional complications,
which will need to be considered.
5
Giving Users Choice …
• How will this work?
– The easiest way for this to work is to have our framework work
with a list of administrator-definable variation types or
attributes, such as:
• Size
• Color
• Finish
– Then, each product will have a number of these variations
associated with it, grouped by their variation type.
– The framework would also need to store and manage potential
cost differences with different versions of a product. 6
Giving Users Choice …
• High-level Overview
– If we take a look at a high-level overview of what we have
discussed, we can see more clearly how this all may relate.
7
Giving Users Choice …
• Database Structure
– We need to create two tables to record the variation data itself,
and some additional tables to maintain the relationship between
products and their variants.
– We won't be associating a product with variation types
(attributes), because not all products associated with those
types of variation would need all of the variations associated
with them.
8
Giving Users Choice …
• Template Switching
– Depending on if the product has variations, we need to change
the template used to generate the product view to the customer.
– If the product has no variations, then they need to see the
template we created in the previously; if the product does have
variations, then we need to display a template that can support
the ability for the customer to choose their variants.
– For each variant type that a product can have, we would
obviously need a new section within this template; this could be
drop-down boxes, or some other method for selecting a variation.
9
Giving Users Choice …
• Template Switching ..
– One such example of an extended template, as shown follows,
lists options for colors and sizes of t-shirts:
10