How to add a free text field to a product?

I would like to have a free text field with every product. For example to pass the text which needs to be engraved on the product you order. It needs to be attached to the product instead of the order, because a visitor can order multiple products with all different engravings.

I see you can only have option lists with the simplecart TV. Is it somehow possible to have a free text field set? I tried using a normal TV, but I can’t figure out how it’s stored.

It’s possible to just add additional fields to the add to cart form, those will be registered with the product as well. Something like this:

<form action="[[~[[*id]]]]" method="post" id="form_productdetail">

    [[*productOptions]]

    <p>
        Custom textfield:<br>
        <textarea name="my_custom_field" cols="30" rows="5"></textarea>
    </p>

    <div>
        <input type="text" name="quantity" value="1" />
        <input type="submit" name="addcart" value="[[%simplecart.cart.add? &namespace=`simplecart` &topic=`cart`]]" />
    </div>
</form>

In the SimpleCart backend it’s fairly hidden, but if you right click on the product in the order window, it’ll have an option “View Custom Fields” and that will show any additional fields submitted per product :slight_smile:

Thanks Mark, works great!