I'm developing a Magento store for a vehicle accessory company. There are a number of vehicle specific items that need Make/Model/Year attributes, however I can't find an extension that allows creation of relational attribute dropdowns - I need three dropdowns, whose options change dynamically depending on the previous dropdown selection, for example:
Dropdown A has four Vehicle Makes. Choosing a Make then populates the Model dropdown with a specific set of options and so on for the Year dropdown.
Is this possible in Magento? I've looked at some of the Make/Model/Year extensions, but they're all text inputs - too much room for input error by staff members. I've also tried VehicleFits but it isn't working/throws a lot of errors and it appears development has ceased.
I've searched high and low, any help would be greatly appreciated.
It's not possible to create dependent product attributes directly or straight forwardly under Manage Attributes. But you can make your attributes depend on each other by creating Configurable products.
Lets say you have 2 colors (black and blue) and 2 sizes (L,XL) and you want to make your colors depend on sizes.
At first create 2 attributes size and color of type dropdown under Manage attributes and create the attribute options and values. and Assign it to the right attribute set.
Now create the simple products , lets say product A with size L and color Black and product B with color Blue and size XL.
Now create a configurable product lets say AB and associate these two simple products A and B. Save the product.
If the customer opens the product AB and if they choose size L they can find only color Black. This is how you can make your product attributes dependent on each other.
Source: here
Or may be this is what you are looking for:
http://www.magentocommerce.com/magento-connect/dependent-custom-options-configurable.html
Hope it helps.
Related
This relates to WooCommerce Product Variations.
A client has only one product (a cushion), it has one attribute (fabric type) with many variations - over 50 fabric type swatches. They would like to display the fabric variations sorted into groups to make them easier for customers to choose from (example: floral fabrics, baby fabrics, block colour fabrics).
Does anyone know if there is a way to do this?
In WooCommerce, by default, when we have, say, 2 attributes, and then we create a number of variations, they will be the result of every term multiplied by each other, meaning if we have 10 term of attribute A and 7 term of attribute B, it will create 70 variations maximum.
I want to make them separate in controlling the option, and it may have the same meaning as "making the attribute A and attribute B not connected", or "dynamic variation relationship".
For example: I have attribute: Color and Size. Color has 5 terms: White, Black, Red, Blue, Green. Size has 3 terms: Small, Medium, Large.
For every color, there will be an individual image represents every product regardless of what size is selected. And so does with the sizes. For every size, there will be a different price but each will have the same price for every color.
Also, when I select on a size variation, I need the image slideshow not to be updated (which it does by default, see this GIF below). I just need to update the price.
What should I change in the WooCommerce code, database, and what do you suggest for the backend and frontend?
I hope you understand my explanation and am looking forward for your help. If you need some clarification or more explanation, I will edit this question.
I am designing a website for wedding cards with Magento.
Each wedding card which a user buys may come with few additional sub products like a Reply Card, an Additional Insert, etc.
For Example:
There is a wedding card named “A”. Now there is a minimum quantity check that we have put over this product. This product comes with 2 complementary inserts per product.
In addition to these 2 complementary inserts a user can buy additional inserts. The user should select the number of additional inserts from a drop down menu. According to whatever number is selected, additional inserts should be generated.
Now suppose he selected 2, so there would be 2 additional inserts. Each additional insert would have a minimum quantity linked to it. And there would be a fixed cost per additional insert.
I am stuck at this position. How can this be achieved in Magento?
This feature can be handled by the "configurable item type".
Make configurable item, select EAV attribute which connect that type selection.
This is way how you present an empty default product visible (with name image price) and after this you can make variables by another simple product with other prices store ammounts etc...
The same way is bundled item (there is no price, and is counted by sum of prices or selected sub-items by customer), magento shows "price starts by ...."
I am upgrading a website to enable product variants - currently the website only provides standalone products but there is now a requirement to provide variants of a particular product, e.g. size or colour. The aim is to enable the site admin to easily insert/edit product variants.
The current structure is as follows:
table product
=============
id
name
description
category_id
price
stock_level
The fields 'price' and 'stock_level' will now need to be relevant to each product variant.
A product can have multiple combinations of variants, e.g:
Product ID 5 - Size: Small, Colour: Black
Product ID 5 - Size: Small, Colour: Brown
On the front end there are two dropdowns to select the variants (Size and Colour). Upon selecting the required variants, the values are posted to a PHP script which runs an SQL query to check if that particular variant combination is available.
I am struggling to come up with a solution for this. I have currently created the following functionality, which I think is the starting point:
Ability to create/edit variant TYPES e.g. Size or Colour:
table variant_type
==================
id
name
Ability to assign values to variant types, e.g. Small, Large, Black, Brown:
table variant_type_value
========================
id
name
variant_type_id
I am struggling to come up with the design for the table(s) that will store the product variant combinations (including their price and stock level).
Bear in mind, on the backend, there will be a form to "Add a new Variant" - on this form the admin will need to select 'Size', 'Colour', 'Price' and 'Stock Level' when adding/editing a variant.
I think the easiest way would be to have a Product table; that would have all the details of the variants in it, by including the foreign keys for the Product table, as well as the Size and Colour tables:
table variant
=============
variantID
productID
sizeID
colourID
stock
price
table product
=============
id
name
description
category_id
table size
==========
sizeID
sizeName
table colour
============
colourID
colourName
So you can get the details for the variants by joining all four tables together. Information that relates to the product in general goes in the product table, and you can add extra types of variant by creating new tables and linking them in the variant table.
Editted to add:
This way, you'll need to add extra tables if you want to add a new type of variant. You could also get around it by merging all the variant possibilities into one variant table:
+--+------+------+
|ID|Type |Option|
+--+------+------+
|1 |Colour|Brown |
|2 |Size |Small |
+--+------+------+
You'd then have multiple foreign keys from variantInfo in the main product table.
I don't tend to like that - I don't like have multiple types of information stored in the same table. I just think it's confusing, and you need to make the programming logic more complicated. If you want to have extra variant types, I'd recommend just setting them all up now - it's a little extra work, and some of them won't be used, but I think it's a lot easier to maintain.
I want to only display specific attribute to specific type of product. For example I have Shoes and a footID. footID will only be available in Shoes product page and not any other. In time I'll also have a few more similar attributes for example tennisID that only applies to tennis Products.
In order to achieve this you first have to create all the different attributes you need. (Such as footID and tennisID)
After that you have to create multiple attribute sets. In your example you would have to create two attribute sets called "Shoes" and "Tennis".
In each of these attribute sets you add the attributes that belong to them. (Example when creating the attribute set tennis you have to add (drag) the tennisID attribute to it. (same goes for the shoes attribute set)
These attributes will only be visible (both frontend and backend) for the attribute sets they have been added too.
Regards,
Kenny