Dynamic Properties

Dynamically show property inputs

This document introduces "Dynamic Properties," a powerful feature that allows you to dynamically show input elements within the Smootify Add-to-Cart component based on Shopify Metaobjects. This basically allows you "designer" to lay out all possible properties and control their visibilify from Storefront. This is usefull when Webflow conditional visibility is not enough for your store.

All plans

This Add-On is included in all plans.

Activate add-on

This Add-On requires activation. You need to enable the add-on on the Smootify Dashboard of the site you are designing.

How to setup [Shopify]

Activate the Add-on

To turn on the Dynamic Properties feature, go to your project in the Smootify dashboard and activate it within Sites add-ons.

Set the metafield as readable

When you activate the Dynamic Properties add-on, a metafield definition will be automatically added to your Shopify. To ensure proper functionality, go to your Shopify Dashboard > Settings > Custom Data > Products. Find the 'Dynamic Properties' metafield definition and enable Storefronts access.

Set the metaobject as readable

When you activate the Dynamic Properties add-on, a metaobject definition will be automatically added to your Shopify. To ensure proper functionality, go to your Shopify Dashboard > Settings > Custom Data > Metaobjects. Find the 'Dynamic Property' metaobject definition and enable Storefronts access.

Create Dynamic Properties

From your Shopify Panel > Content > Metaobjects create your Dynamic Properties.

Every Dynamic Property has these fields:

Field NamePossible ValuesUsage
Name
Any text
This field is just for internal use to facilitate the search inside Shopify backend when you attach dynamic properties to products
Label
Any text
This field is the one that will allow the match with Webflow, so write it down because you will need it later on in Webflow
Property Type
  • Text
  • Number
  • Select
  • Dropdown
  • Email
  • Radio
  • Checkbox
  • Url
  • Swatches
This field will change the type of component you will use in Webflow to correctly style it
Property Name
Any Text
This field will be the name of the property added to the cart, if you want to hide it on cart and checkout use a name that starts with '_'
Placeholder
Any Text
This field will dynamically change the placeholder of the inputs (when supported)
Property Values
List of texts
For dropdown, select, radio and swatches, you have to set in this field the values that you want to show up in the frontend
Input Attributes
List of texts
If you want to add attributes to the input you have to write a list of texts by following the syntax key:value, e.g: max:3
Required
On / Off
Will indicate if they input is required or not
Images
List of Images
Only for the swatches input you can add also a list of images, you must respect the order you've set for the Property Values

Connect the properties on each product

Fill the Properties metafield that you find in each product with the Dynamic properties you created before

How to setup [Webflow]

Add the Components

For each Dynamic Property you want to support in your template, you have to add a Component inside the Add to Cart.

Text

Copy Element

Number

Copy Element

Select

Copy Element

Dropdown

Copy Element

Email

Copy Element

Radio

Copy Element

Checkbox

Copy Element

Url

Copy Element

Swatches

Copy Element

Change the Label Custom Attribute

For each component you copied you must change the Custom Attribute:

Name
label
Value
Label you added in Shopify

In this way you will indicate that the Dynamic Property will be connected to the Dynamic property associated to the product and that has that specific Label indicated in the attribute.

[Optional] Delete Parent

If for style requirements you do require to remove the element that wraps the dynamic property (the Parent) and not only the dynamic property in the case the Dynamic Property doesn't exists you can add the attribute

Name
delete-parent
Value
true

On this page