Today we’re talking about one of the most powerful aspects of Slatwall, a little thing we like to call “Custom Attributes.”
Now before we just dive right and look at how to set them up, let’s talk a bit about why you might want to use Custom attributes, and what they're good for.
There are a lot of use cases where custom attributes make sense, but there are 3 situations that come up all the time.
1) Extending Products & Sku Data
The first situation is extending products & skus to add more information.
Your site is likely going to need to display information about your products that Slatwall doesn’t have fields for right out of the box.
For example, if you're a wine company, you might need to specify varietals like Cabernet Sauvignon. Alternatively, a site that sells Cowboy boots, may want to be able filter on things like “Toe Shape”.
Now we can’t put all of these different fields into Slatwall right from the start because they are not always relevant to every business that uses Slatwall. After all, cowboy boots have absolutely nothing to do with wine.
Products and sku data are unique to each business, so Slatwall allows for you to specify what is important and relevant to your operations.
2) Asking for extra order Information
The second situation is when you need to ask your customer for some additional details
Like this site that asks users to provide custom invitation messaging, or this site that gives the option to add a gift message at checkout.
Each invitation and message will be customized to the specifications of the customer. Since there is no way to necessarily anticipate what message will be provided from the customer, custom attributes are necessary in order to allow the customer to truly personalize their message.
3) Data needed for Integrations
The 3rd is for all you developer nerds out there, because custom attributes are also really well suited for storing data for custom integrations.
For example, integrating with all content management systems, or all warehouse management platforms cannot be included as a standard Slatwall integration since there are simple too many unique integrations. With custom attributes, however, you can be sure that you decide what integrations you want, and how you will go about integrating them.
These are just a couple of examples, but as you can imagine there are a zillion uses for custom attributes, so lets take a look at how you go about setting them up.
Steps to Setup Your Custom Attributes
1) We want to log into the Slatwall administrator
2) Second, we can navigate to “Config” and then “Attribute sets”
3) Now let’s create our first “Attribute Set.”
This is really just a grouping of attributes for a specific type of object. For this example lets go with a “Product” attribute set, and call it “Extra Product Details”
4) Once we have our attribute set defined, we can go ahead and add some attributes to it.
Lets start with Product Year that we can do as a Textbox.
5) Then next let’s create a Gender attribute, but this time lets make it a “select” so that we can pick from some pre-defined options. We need to define Attribute Options for gender by adding them when prompted. Let’s do Men's, Women's, and Unisex
There you have it! Your first custom attribute is set up for use.
Custom Attribute: Object Relation
One other really cool thing we can do is relate one object to another. For example, let’s say we want to know the Country of Origin. Because Countries are already in Slatwall, we can just set this as a related option selection and pick “country.”
We can also create multi-select related options like “Recommended Add-On Products” and relate that to the product entity.
Great, now that we have it all setup, there is only one thing left to do… add the info.
Just navigate to a product and edit it in the newly-visible section called “Extra Product Details.”
When you open it up, all of the custom attributes we previously defined are there so that you can round out your product data.
The values of the attributes can be imported from 3rd party systems and Slatwall treats them just like any other property.
If you were going to ask customers to customize their products like the invitation example, then you would just want to create an “Order Item” attribute set, or if you want some gift messages for the order, then you would just create an “Order” attribute set. Again, these values will be displayed in the administrator for everyone to see.
I hope this has been helpful, now get out there and start customizing Slatwall!