Я не знаю ни одной конфигурации модуля, которая делала бы то, что вам нужно, без создания вариантов продукта для образцов.Теперь просто создать вариант и позволить пользователю выбрать его в форме «Добавить в корзину» — это один из способов заставить это работать. Я не уверен, какие у вас есть ограничения, которые делают это несостоятельным, но вам даже не нужно было бы использовать атрибуты продукта, если вы этого не хотите — просто назовите варианты «[Уникальная ткань] Рулон» и «[Уникальная ткань] Образец» и форма «Добавить в корзину» представит список вариантов, которые будут выбраны по названию.
Тем не менее, чтобы сделать это с помощью универсального продукта, я бы создал тип продукта + вариант под названием «Образец ткани», который использует новый тип элемента заказа для добавления продукта в корзину. Этот тип элемента заказа будет иметь справочное поле, которое я буду заполнять из пользовательской ссылки/формы покупки. Затем вам нужно будет заполнить это значение поля ссылки на основе продукта, для которого клиент запрашивает образец. Причина, по которой ссылка Commerce Add to Cart Link не будет работать, заключается в том, что у модуля нет возможности указать значения для настраиваемых полей в элементах заказа, которые он создает. Тем не менее, это было бы хорошим запросом функции для модуля. В противном случае вам просто понадобится специальная форма.