Attributes and attribute sets are one of the most powerful features in Magento. You can essentially customize the attributes in Magento to do everything you want as far as managing a diverse and complex array of product data. Between the six product types in Magento, and the ability to customize your attributes and attribute sets, the potential for customizing your product data to what you want is practically limitless within Magento.
This guide is meant to help beginners or anyone new to Magento become familiar with attributes and attribute sets so they can better manage their product data. Thinking about how you want to organize your attributes and attribute sets before you begin to develop your Magento store is incredibly important.
Overview (From Magento):
In Magento, Attributes are quantifiable or descriptive aspects of a product, from the color, to the manufacturer, to the SKU number. There are two kinds of attributes in Magento: System Attributes and Custom Attributes.
By default, Magento includes all the necessary System Attributes. These cannot be deleted, and every product must have each of these attributes. Therefore, all Attribute Sets must include these attributes (more on Attribute sets in the next section). These types of attributes include Name, Price, and SKU, without which a product would not function.
Custom Attributes, on the other hand, are attributes created by the Store Owner. These will likely be more specific for individual products, and therefore will not necessarily be included in every Attribute set. For example, if you were to create an attribute for color, with values of blue, green, yellow, etc., you may want to apply this attribute to an Attribute Set for shirts, which you sell in various colors, but you probably would not include it in an Attribute Set for DVDs, for which color is not really an applicable attribute.
1) View All Attributes In Catalog
When you click on attributes under Catalog you will see approximately 42 default system attributes. The default install of Magento 1.9 will have 42 attributes that you can customize to your product set.
2) Click on an Attribute or Add a New Attribute
You can either click on an existing attribute or add a new custom attribute in the top right section of the page. Chances are you will need to add new attributes such as height, length, waterproof or some other attribute related to your specific product groups.
3) Attribute Properties
Attribute properties are very important to understand when setting up your attributes. Some of them, such as catalog input type for storeowner, cannot be changed once they have been selected and the attribute has been saved. Therefore, it is critical to understand the implications of your attribute property choices. You will have to recreate them if you want to change certain options that cannot be changed once they have been created.
Attribute Code: (Required)
The attribute code is what you will use to do more technical things within Magento such as upload product attribute data in the product import feature within Magento with a CSV file. The attribute code will also be the name of the attribute you add to your attribute sets. You can also call the attribute code in Magento to build custom features around certain attributes. That will require developer expertise and is not an admin panel feature.
This value is used internally by Magento and must be unique with no spaces.
THIS VALUE CANNOT BE CHANGED ONCE YOU HAVE SELECTED IT! SO CHOOSE WISELY.
Scope (From Magento):
This drop-down determines the level at which the values of this attribute are shared. When creating a product, you will be able to see the Scope to the right of each attribute.
- Store View:
the value of this attribute for a given product can differ in all Websites and all Store Views. For example, if you were creating an attribute called Color, with a Store View Scope, you would be able to set the color of a product to green in one Store View, and blue in another Store View.
- Website :
Website means that the value of this attribute for a given product can differ in different Websites, however it cannot differ between Store Views contained under the same Website
- Global :
the value of this attribute for a given product must be the same for all websites and stores on this Magento installation
Catalog Input Type for Store Owner:
The catalog input type determines the type of data you are importing for that attribute. Each attribute may have a different type of product data associated with it. Therefore this is a very important property to select for your attributes. There are
9 input types that I will cover briefly.
THIS VALUE CANNOT BE CHANGED ONCE YOU HAVE SELECTED IT! SO CHOOSE WISELY.
- Text field
A text field is anything that could have any number of values such as name, sku, or a number that could be any value. This is a useful input type for data that is not limited to a set amount of options.
- Text area
A text area is similar to a text field but meant for larger amounts of text data such as a description or explanation about some feature of a product.
Date is exactly what you would expect it to be. It allows you to use a date as an attribute value so you can select a date and assign a date as the value for that attribute.
This is also very straightforward. It is for an attribute that can only have a Yes or No option such as waterproof. It is either yes, it is waterproof, or no it is not waterproof.
- Multiple Select
Multiple select has similar properties to dropdown. However instead of only having one of the dropdown options, a product can have multiple attribute options for a multiple select attribute. An example would be a product that might have multiple colors.
A dropdown is an attribute property that can only have one option. For instance a product may only be suitable for ages 3 – 7, ages 8 – 12, or ages 13+. Therefore you would create the attribute age group and set it to drop down. In the manage options section you would create the three age groups. The product would then be set to one of the three age groups.
Price is a number associated with the product. There is the default price attribute setup in Magento that has the Input Type Price. However you may want to create another attribute with price that is associated with the cost or some other price related element of the product that you or the customer may want to know.
- Media Image
The media image attribute Input Type allows you to add an image to a product such as an extra image associated with the product. The default Magento setup has a Base Image, Small Image, and Thumbnail, associated with it. You can add more images to this setup if you want to with the media image attribute Input Type.
- Fixed Product Tax
A fixed product tax will allow you to add a fixed tax to a product. Some jurisdictions have a fixed tax that must be added to certain types of products. In those type of instances, you may want to utilize the Fixed Product Tax in Magento.
The default value allows you to have a preset value so that when you create a product that has this attribute it will have a default attribute value prepopulated for that product. This is helpful when there is a default value that is commonly used, saving product data entry time.
This only applies to the Input Type, Text Field, Text Area, Date, Yes/No, and Price. In Multiple Select and Dropdown you can select a default value in the Manage Label / Options section of the attribute.
If you set unique value to yes it means that each attribute value per product must be unique. This is useful for certain things like SKU, in which you will want a unique value for each SKU. However, in most cases you will want to set the unique value to no because multiple products will likely have the same attribute value.
Values required means that there must be a value for this attribute when you create a product. Therefore if you do not fill out all the attribute options for a product that are required you will not be able to save that product. Magento has several default attributes that are required that I mention in my blog post about managing products in Magento.
Input Validation For Store Owner:
This is only applicable to the text field input type. It allows you to validate certain data. You can set it to:
- Decimal Number
- Integer Number
- Letters or Numbers
For example, if you select email, only data that resembles an email will be able to be added to a product as a value for this attribute. Or if you were to select integer number, only integer numbers will be allowed and decimals, letters, or other non-integer data types will not be accepted as a value for this attribute.
This allows you to decide whether you want this attribute to be applied to all product types or select which ones of the six product types you want.
4) Frontend Properties
Front-end properties are things that actually show up on the website, however this will also depend on how your Magento theme is constructed and designed.
Use in Quick Search:
This allows attribute values to be searchable. If someone is doing a search on your Magento store search bar, searching for attribute values will bring up products that have that value.
Use in Advanced Search:
Advanced search allows you to search by sku, description, and other filters that allow you drill down to products more specifically than the quick search bar you will find at the top of most Magento stores. Just like use in quick search, use in advanced search allows the attribute values to be searchable in advanced search. However, in advanced search it will actually add the attribute to the list of fields you can search with, whereas the Quick Search will just be the one search bar.
Comparable on Front-end:
This allows the attribute to be visible when a customer adds a product to the compare box feature in Magento. The compare feature is similar to Wishlist, and may or may not be used in your shop depending on your Magento design. A row will be created for this attribute in the Compare Products pop-up window.
Use in Layered Navigation:
This allows your attribute to be filterable on the left or right hand side of your category page when a product in that category has this attribute, depending on your Magento design. If you want your customer to filter by size, price, or another attribute that you feel will help your customers better find what they are looking for set this to yes if it is one of those attributes. Only attributes with the Input Type, Dropdown, Price, and Multiple Select can be filterable.
Use in Search Results Layered Navigation:
If someone is searching for something, this will allow him or her to filter by this attribute for his or her search results if the results have a product or products with this attribute. This could help a user find what they are looking for when searching faster.
Use for Promo Rule Conditions:
This will allow you to create promo rule conditions in Magento using attributes. For example, you would set this to yes, if you want to create a promotion for all products of the small option of the attribute size, or the blue option of the attribute color.
This allows you to determine the position of the attribute in the right or left hand side of your category filtering, if it is being used for layered navigation.
Allow HTML Tags on Frontend:
Allow attribute values that have HTML tags enclosing them to have those HTML tags honoured.
Visible on Product View Page on Front-end:
Displays this attribute and it’s value on product pages in the “Additional Information” section.
Used in Product Listing:
The attribute will show up in the product listing (category page) of your Magento store. This will also depend on how your theme was designed.
Used for Sorting in Product Listing:
By setting this option to Yes the attribute gets added to the default sort options. So at the bottom or top of the product list this attribute can be chosen as a sort option.
5) Manage Label / Options Tab
Manage Titles Field Descriptions (From Magento)
Enter a label for the attribute as it will be seen in the Admin Panel and on the frontend stores. You can enter different labels for each store. Notice if you have multi-language stores, this is where you would translate attribute labels and values. If you leave a store field blank, it will use the default (admin) label.
Manage Options Field Descriptions (From Magento)
For drop down or multi-select attributes, you must provide the options for the attribute. Use the [+Add Option] button to create fields for all your options and enter the values for each. Notice if you have multi-language stores, this is where you would translate attribute labels and values.
Enter a numerical value in the Position field, and this will determine the sort order of the values in the drop-down/multiple select menu relative to each other. For the Dropdown Input Type, you will have an Is Default radio button with which you can select one value. For the Multiple Select Input Type, you will have an Is Default checkbox with which you can select multiple values.
6) Attribute Sets:
An attribute set is a collection of attributes. The default attribute set has the 42 system attributes that are required by Magento. You can customize the default attribute set to have more custom attributes that you have created or create your own new attribute set.
Every product has to have one attribute set assigned to it. By default you cannot change a products attribute set, however there are plugins like Amasty’s Mass Product Actions that allow you to do so.
To create a new attribute set:
A) Go to Catalog -> Manage attribute sets:
B) Press “Add New Set” in the top right:
C) Name Your Set And Select What Set You Are Basing It Off Of:
You can name your attribute set and base it on another set. It is a good idea to create a base, or default attribute set that has some default attributes that will be in every attribute set you create. So if you have a few custom attributes you have created that you know will be applicable to every product, you can assign them to the Default attribute set. Now when you create your new set and base it on Default it will have those new custom attributes you assigned to Default prepopulated, saving you data entry time.
D) Add New Attribute Groups:
You will see there are several default attribute groups assigned to the Default attribute set:
- Meta Information
- Recurring Profile
- Gift Options
You may notice that these groups match up with the main product input value sections. That is because the default attributes assigned to these groups are exactly those. The amazing thing about Magento, is that you can create entirely new attribute groups and assign them to your attribute sets. That new group will show up when you go to manage your product with that attribute set just like you see General, Prices and the other groups.
E) Add Custom Attributes To The Attribute Groups:
Once you have created your new attribute group and assigned it to your attribute set, you will have to assign custom attributes to that new group as you see in the image. You simply drag and drop them across the screen to the attribute group you want them in, similar to how you manage the order of categories in Magento.
7) Using Attribute Sets:
A) Go To Catalog -> Manage Products:
B) Press “Add Product”:
C) Under Attribute Set, Select “Office Supplies”:
D) Add your office supplies attribute data:
Your new attribute group should show up. In this example we created the new group Office supplies and added three custom attributes, manufacturer, color, and image test. You can see them in the office supplies section of the product:
Image test is a media input type attribute so it will only show up in the images section of the product as shown below:
Notice that if you create a dropdown attribute it will show you an attribute with the dropdown options for your product or new group. If you create a text-field it will show you a text field that you can choose any type of text for, unless you selected a certain type of validation input in which only certain characters will be accepted.