Additional Details only saving information on last item in order

Topic summary

A user is implementing custom fields on a Shopify cart page (using the Debut theme) to collect class selection and student name information for educational materials. They’ve encountered two critical issues:

Primary Problem:

  • When multiple items are in the cart, only the information from the last item is being saved
  • Each item needs to retain its own unique class selection and student name data

Secondary Issue:

  • When an item is removed from the cart, both dropdown and text box fields disappear
  • The checkout button becomes usable without filling required fields
  • Fields reappear when the cart page is reloaded
  • Validation appears to work when fields aren’t generated

Technical Context:

  • Custom code has been added to the cart template using Liquid tags
  • The implementation loops through product tags to display conditional fields for “Clay Class Supplies” and “Student Name Request”
  • The user has removed novalidate from the table to troubleshoot validation behavior

The discussion remains open with no resolution provided yet.

Summarized with AI on November 14. AI used: claude-sonnet-4-5-20250929.

Good morning!

I think I posted this to the wrong board the first time.

We are getting set up to sell class materials through Shopify, and we’re currently using the Debut theme. I got this set up to show a dropdown to select the class this is for, as well as a text box for the student name, in case it’s different from the name on the order. The issue I am running into at the moment is that if there are multiple materials on the order, only the information from the final item on the order is saved. We are needing the information from the input on each item.

Here’s the code added to the cart template creating the requests and collecting information:

{% for tag in item.product.tags %}> {%- if tag == “Clay Class Supplies” -%}> > >

{% endif %}> {% endfor %}> > > > {% for tag in item.product.tags %}> {%- if tag == “Student Name Request” -%}>

{% endif %}> {% endfor %}> >

Also, on the cart page, if an item is removed, dropdown and text boxes both disappear and Check Out button becomes usable without filling out otherwise required fields.

I have novalidate removed for that table, but it seems to see everything as validated when the fields aren’t generated. If I load the cart page again, the fields will reappear.

Thank you for any insight!