Sectioned Themes
Create a cart attribute field
You can add as many custom form fields to your cart form as you need. You can use the Shopify UI Elements Generator tool to easily generate the HTML and Liquid code for each form field that you want to add to your cart page. This tool was created by Shopify to help simplify the process of adding custom user interface elements, such as form fields and icons, to Shopify themes.
-
Go to the Shopify UI Elements Generator.
-
In the Set your form field section, select the type of form element that you want to use from the Type of form field drop-down menu:
-
Enter a label for Your form field label.
-
If you want your theme to prevent customers from reaching the checkout before they have filled in your form field, check Required.
-
You can see a preview of your form field in the Preview section.
-
Copy the generated code from the box in the Grab your code section.
Add a form field to your theme code
To add a custom form field:
-
From your Shopify admin, go to Online Store > Themes.
-
Find the theme you want to edit, and then click Actions > Edit code.
-
In the Sections directory, click
cart-template.liquid. If your theme doesn’t have acart-template.liquid, then, in the Templates directory, clickcart.liquid. -
Find the closing
</form>tag in the code. -
On a new line right above the closing
</form>tag, paste the code that you copied from the Shopify UI Elements Generator. You can experiment with putting the code in different places to see where the form field appears on your cart page. -
If you set your form field to be required, then you will need to remove the
novalidateattribute from the checkout form. Findnovalidate, which is inside the opening<form>tag. The code might look something like this:<form action="/cart" method="post" novalidate class="cart">Delete
novalidate:<form action="/cart" method="post" class="cart"> -
Click Save.
The new field is shown on the order page of your admin in the Additional Details section.
Note: Cart attributes can be added only to a cart page, and are not compatible with cart drawers, or cart popups. To change your cart style, go to the theme editor.
Show cart attributes in email templates
You can show cart attribute information for orders in your email notification templates. To add cart attributes to an email template, add the following code to the template in the place that you would like the cart attributes to be shown:
<h4>Additional details</h4>
<p>
{% for attribute in attributes %}
{{ attribute | first }}: {{ attribute | last }}<br>
{% endfor %}
</p>
Show cart attributes in Order Printer templates
If you use the Order Printer app to print your orders, you can add some code to your templates to show cart attributes on your printouts. To add cart attributes to an Order Printer template, add the following code to the very bottom of the template:
{% for attribute in attributes %}
{{ attribute | first }}: {{ attribute | last }}<br>
{% endfor %}
