Jump to content
thirty bees forum

Product and combination types missing in Prestashop


musicmaster

Recommended Posts

As a small contribution to the development of TB I have made an overview of the type of products that are not or not well supported by Prestashop. I hope that a bit of discussion and the input of different people with experiences of different webshop software can contribute to build an overview of the options.

The most important problem is probably the “million –combination problem”. When you have a product with many attributes (computers and cars are good examples) the number of possible combinations can easily explode into the millions. As a consequence the product will get stuck in both the back and the front office. A related problem is that stock keeping doesn’t work: if you sell a car with or without radio it is still only one car.

If you analyze those cases you see a few scenario’s that don’t fit in the Prestashop cookie cutter solution: - Some attributes are in fact separate products. They might be considered as accessories but you want to sell them on the same page. The car radio is a good example. This kind of attributes comes in two varieties: some are also sold as standalone products while others are only sold as a part. - Other attributes concern things that never get out of stock. If you sell furniture you may offer it in different colors. But as you paint them yourself and you have an ample supply of paint this will never be a restricting factor. In this category fall also work-related attributes like when you sell a product in a rude and a polished version – the latter involving some processing by you.

Then there are the products that don’t fit. One category are the “fractions”: products sold by meter or gram or other linear unit. Say you sell cheese for 10 euro a kilo. You have a piece of 485 gram and you would like to receive 4.85 euro for it. The only way to achieve that would be to set the price per gram. But that would mean that you list it as 0.01 euro per gram. That will result in rounding errors and it goes also against industry practices that dictate listing prices per 100, 500 or 1000 gram. Also it doesn’t give the customer a quick impression of whether the product is cheap or expensive.

Another category are the “standalones”. These are a kind of customizations where you want to set the price. It might involve work. If you sell floor coverings you typically bill carpets and work to install it. But you don’t want to make a new “work” product for every new customer. I sell fancy boxes that can be filled with candy. I would love to give the customers the freedom to choose which candy they want in it but that is impossible under Prestashop. Candy sells by weight and different types of candy have different weights per liter. It would be easy to write some custom software that calculates the correct weight and price but I can’t store it at the moment.

So what are the possible solutions? In the case of the attribute combinations my favorite would be to allow more than one product on a page. They should be in the same html form so that you can order them with the same Buy button. This means that you will need to mention somewhere the number of different products on your page and give them numbers to discern them. You need also to indicate which is the main product and which are the options.

For attributes that don’t affect stock there are two possibilities. You might create a new kind of attribute for that. You could also create a kind of pseudo accessories for them. You might for example have a “product” colors that cannot be sold alone for this purpose. It is a rather convoluted solution but it may be easier to implement than a new kind of attribute. In the case of the fractions the cleanest solution is probably to indicate somewhere that your price is per 100 units (or whatever number you want).

In the case of the standalones the basic point is that there is no standard price and that the shop owner must somehow provide a price.

Link to comment
Share on other sites

@musicmaster said in Product and combination types missing in Prestashop:

  • Some attributes are in fact separate products. They might be considered as accessories but you want to sell them on the same page. The car radio is a good example. This kind of attributes comes in two varieties: some are also sold as standalone products while others are only sold as a part.

I agree with you, that combination system is causing a lot of problem. We have a very similair case to the radio case. We sell chess sets. One Set includes:

  • 1 chessboard
  • 1 pieces
  • 1 box (combination: mahagoni, walnut, mahagoni)

This products are all stored as single products as well.

Problem: The customer can choose between multiple boxes (mahagoni, walnut, mahagoni). You can imagine, that the stock value for the set is just rubbish. What we need is a "Stock Rule Option". For all combinations I would like to set what happens with the stock. For example:

Customer orders chess set with mahagoni box. Stock: -1 chessboard -1 pieces -1 mahagoni box

Another possibility is the improve the bundle feature. This would also work in the radio case, I believe.The bundle feature doesn't allow any combinations on the bundle itself...

Link to comment
Share on other sites

@musicmaster said in Product and combination types missing in Prestashop:

  • Some attributes are in fact separate products. They might be considered as accessories but you want to sell them on the same page. The car radio is a good example. This kind of attributes comes in two varieties: some are also sold as standalone products while others are only sold as a part.

It's worth mentioning that the packages of separate products need to track the price also. The relation between "fields" or "attributes" in the combinations system must a "many to many" one, instead of the "one to one" way that the PS team thought it to be.

We must be able to select hoy many of every single group of attributes is necessary to proceed, so we can get options such as:

  • Buy X, select one of Y.
  • Buy X, select two of Y.
  • And so on.

We may even be able to make packs of not pre-selected products:

  • Select one of X, then select one of Y.
  • Select one of X, then select two of Y.
  • And so on.

I've read that some efforts are being done right now to improve the checkout workflow, so that it doesn't require unnecessary steps such as JS+AJAX+PHP+JSON+SQL...

If the checkout workflow is cleaned of the logic impossed by PS, I believe that the performance improvements might be sufficient to get a robust combinations solution.

  • Other attributes concern things that never get out of stock. If you sell furniture you may offer it in different colors. But as you paint them yourself and you have an ample supply of paint this will never be a restricting factor. In this category fall also work-related attributes like when you sell a product in a rude and a polished version – the latter involving some processing by you.

Then there are the products that don’t fit. One category are the “fractions”: products sold by meter or gram or other linear unit. Say you sell cheese for 10 euro a kilo. You have a piece of 485 gram and you would like to receive 4.85 euro for it. The only way to achieve that would be to set the price per gram. But that would mean that you list it as 0.01 euro per gram. That will result in rounding errors and it goes also against industry practices that dictate listing prices per 100, 500 or 1000 gram. Also it doesn’t give the customer a quick impression of whether the product is cheap or expensive.

Having a system of UoM (Units of measure) might solve this. If we set the product's standard UoM to Kg., then selling it in an equivalent UoM such as grams would not be an issue. This system of UoM and equivalencies could even be embedded into the attributes system by having an "attribute type" field with the following possible values:

  • Separate Product (Which would require an input field to select the product to be treated as an attribute)
  • Unit of Measure (With Name and equivalency -in case that this is a new UoM- fields)
  • Modification or Virtual (For attributes that don't need stock tracking per se, but may or may not have an impact on the price)

Another category are the “standalones”. These are a kind of customizations where you want to set the price. It might involve work. If you sell floor coverings you typically bill carpets and work to install it. But you don’t want to make a new “work” product for every new customer. I sell fancy boxes that can be filled with candy. I would love to give the customers the freedom to choose which candy they want in it but that is impossible under Prestashop. Candy sells by weight and different types of candy have different weights per liter. It would be easy to write some custom software that calculates the correct weight and price but I can’t store it at the moment.

So what are the possible solutions? In the case of the attribute combinations my favorite would be to allow more than one product on a page. They should be in the same html form so that you can order them with the same Buy button. This means that you will need to mention somewhere the number of different products on your page and give them numbers to discern them. You need also to indicate which is the main product and which are the options.

For attributes that don’t affect stock there are two possibilities. You might create a new kind of attribute for that. You could also create a kind of pseudo accessories for them. You might for example have a “product” colors that cannot be sold alone for this purpose. It is a rather convoluted solution but it may be easier to implement than a new kind of attribute. In the case of the fractions the cleanest solution is probably to indicate somewhere that your price is per 100 units (or whatever number you want).

In the case of the standalones the basic point is that there is no standard price and that the shop owner must somehow provide a price.

In addition, it's worth mentioning that this logic has to consider not only how we sell products, but also how we do purchase them.

If we sell cheese and allow our customers to purchase in grams, but we purchase them in units of 5 or 10 kilos we must give merchants the possibility to have different units for stock and sales.

All in all, this is a wonderful post that might help in the features' roadmap of ThirtyBees :).

Link to comment
Share on other sites

@lesley said in Product and combination types missing in Prestashop:

The attribute / combination / product system needs a huge overhaul with a ton of new features. I am glad you made this post to get the ball rolling on some ideas.

I'm glad, too, because that's what I'm most looking forward to! I hope it takes a snowball effect and more developers arrive who are willing to write code and documentation and whatever else will help speed this along.

Link to comment
Share on other sites

I don't think it would be good for that since it would need to be core really. I think for a lot of the ideas and changes it would have to be set out for a 2.0 version because of the amount of compatibility it would break. We need to figure out what everyone needs really, then break them into individual features and see if we can add a few of them in minor versions without breaking things. Because of the whole product page mess it might be hard.

Link to comment
Share on other sites

@lesley Fully agree with you, but what I really meant (I have to generalize my statement a little bit): Large projects in general, as for example overhauling the attribute/combination/product system, should be well funded so a paid developer can concentrate 100% of his time for such a job.

Link to comment
Share on other sites

While we are making a Wish List around Combinations, I would like to be able to use multiple Items with Combinations to make a Product Pack. PS 1.5 documentation states: "You cannot currently add combinations ... to a pack ... This is a known limitation that will be fixed in a coming version of PrestaShop." Yes there are PS modules out there to do this, notably Advanced Pack 5 - by Presta-Module for $249 US.

But maybe thirty bees will incorporate this limitation into the core someday.

The way that my shop needs to use it is as follows:

We sell a bed and it comes in five different sizes: Twin, Full, Queen, King, California King, two different woods: Oak, Maple and is available in different colors: Unfinished, Standard Finish, and Custom Finish. Complicating this matter is that the Manufacturer sells the beds in three component parts: Headboard, Footboard, and Rails.

I would create the three component parts of headboard, footboard and rails, each with attributes of size, wood, and color.

Then ideally we will be able to offer "Jamestown Beds" on 1 product page and allow the customer to select the size, wood, and color for each of the three components (headboard, footbboard, rails) and the price would be calculated on the fly.

This state of being would be called Nirvana :-)

Link to comment
Share on other sites

Can somebody explain me, if there is any difference between combination and attribute? I see these two expression a lot and never understood the difference - I thought it's the same... After reading documentation of PS I even noticed that there are hooks for combinations and hooks for attributes :S

Link to comment
Share on other sites

@wakabayashi said in Product and combination types missing in Prestashop:

Can somebody explain me, if there is any difference between combination and attribute? I see these two expression a lot and never understood the difference - I thought it's the same... After reading documentation of PS I even noticed that there are hooks for combinations and hooks for attributes

Product attributes are size, color, capacity, etc. Combinations are combining attributes after you create them, so that there are variations of a specific item or product.

References:

Product Attributes: http://doc.prestashop.com/display/PS16/Managing+Product+Attributes

"Attributes are the basis of product variations (or "combinations" in PrestaShop's interface): you can only create variations of a product if at least one of its attributes changes. You should think of attributes as properties of a product that may change between variations, while still keeping the same product name: color, capacity, size, weight, etc. You can use anything that varies between versions of the same product, except the price."

Product Combinations https://www.hostknox.com/tutorials/prestashop/1.5-1.6/products/combinations

"In PrestaShop you can offer the same product in different variations. For example, you can have the same product but in different colors, sizes, etc. Instead of creating a separate product for each variant you can add a single product in the catalog and then add combinations using product attributes (e.g. color, disk size, memory, etc.). To be able to do this you need to have the product attribute groups and attributes configured in advance."

Link to comment
Share on other sites

Interesting, I am new to this as I've just started investigating into an e-commerce system for our company.

We are a publishing company, selling books and e-books, is it possible to have a product variation that is a downloadable while the other is a physical product (book) ?

Link to comment
Share on other sites

  • 1 month later...

@alwayspaws said in Product and combination types missing in Prestashop:

Product Combinations https://www.hostknox.com/tutorials/prestashop/1.5-1.6/products/combinations

"In PrestaShop you can offer the same product in different variations. For example, you can have the same product but in different colors, sizes, etc. Instead of creating a separate product for each variant you can add a single product in the catalog and then add combinations using product attributes (e.g. color, disk size, memory, etc.). To be able to do this you need to have the product attribute groups and attributes configured in advance."

This is bad data modelling. They have managed to conflate the product data model with the catalog view of the product.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...