Поэтому я подумал, что могу понять это довольно простым способом, но это меня очень озадачило: я открываю магазин для продажи шрифтов. Эти шрифты доступны в различных лицензиях, которые влияют на цену: например:
…и т. д. Как магазин продает пакеты & коллекции, а также индивидуальные веса & стили, все эти варианты можно настраивать в зависимости от их цены, вложенных файлов и т. д. Кроме того, из-за лицензирования некоторых гарнитур не все они доступны под одними и теми же лицензиями.
Проблема: Если пользователь выбирает Desktop: 1-5 Users
, Затем они определенно не нужно требовать выбора веб-лицензии. Однако, если я попытаюсь добавить шрифт в свою корзину, просто Desktop: 1-5 Users
выбрано и нет Web
Выбор, это не удается.
В бэкэнде у меня на данный момент есть все Desktop
варианты устанавливаются на «Любая сеть …» и наоборот, но это не имеет значения.
В качестве дополнения к этому я экспериментировал с использованием jQuery, чтобы установить любое выбранное значение выделения на «ноль»; Итак, пользователь выбирает Desktop: 1-5 Users
; Web
раскрывающийся список автоматически скрывается, и значение устанавливается на «ноль». Это работает (вроде), если товар будет добавлен в корзину, но выглядит так:
Fontname
Опять же, я могу отредактировать шаблон в /woocommerce/single-product/add-to-cart/variable.php
не отображать null
атрибут на сайте, но он по-прежнему появляется в электронных письмах, в порядке на бэкэнде и т. д. В идеале я хочу, чтобы способа просто не было все Атрибуты лицензии выбираются в качестве предварительного условия для добавления шрифта в корзину.
Надеюсь, я просто не вижу здесь дрова для деревьев и упускаю что-то ослепительно очевидное и простое.
Возможно, было бы лучше разделить лицензии на два отдельных продукта — веб и рабочий стол.
Или, возможно, вы могли бы связать или объединить их, используя один из Woothemes расширения группы товаров. В качестве альтернативы Дополнительные параметры продукта расширение может подойти для ваших нужд. Дополнительные параметры продукта добавляют дополнительные метаданные к каждому заказу. Вы можете использовать условную логику на странице продукта, чтобы помочь пользователю выбрать наиболее подходящий продукт / цену.
Удачи! Электронная коммерция сложнее, чем кажется!
Подумайте о добавлении по умолчанию:
Это произведет:
В woocommerce вы можете выбрать не веб / рабочий стол в качестве варианта по умолчанию и снимите флажок, видимый на странице продукта.
Подобное будущее может быть достигнуто с помощью PHP-кода путем подключения к фильтрам woocommerce, но, на мой взгляд, использование конфигурации продукта гораздо более элегантно.