{% macro generalMetaFields(product) %} {%- import "_includes/forms" as forms -%} {{ forms.textField({ label: "Slug"|t('commerce'), site: product.site, id: 'slug', name: 'slug', value: product.slug, placeholder: 'Enter slug'|t('commerce'), errors: product.getErrors('slug')|merge(product.getErrors('uri')) }) }} {{ forms.dateTimeField({ label: 'Post Date'|t('commerce'), id: 'postDate', name: 'postDate', value: product.postDate, errors: product.getErrors('postDate') }) }} {{ forms.dateTimeField({ label: 'Expiry Date'|t('commerce'), id: 'expiryDate', name: 'expiryDate', value: product.expiryDate, errors: product.getErrors('expiryDate') }) }} {% endmacro %} {% macro behavioralMetaFields(product) %} {%- import "_includes/forms" as forms -%} {{ forms.lightswitchField({ label: 'Free Shipping'|t('commerce'), id: 'free-shipping', name: 'freeShipping', small: true, on: product.freeShipping }) }} {{ forms.lightswitchField({ label: 'Promotable'|t('commerce'), id: 'promotable', name: 'promotable', small: true, on: product.promotable }) }} {{ forms.lightswitchField({ label: 'Available for purchase'|t('commerce'), id: 'available-for-purchase', name: 'availableForPurchase', small: true, on: product.availableForPurchase }) }} {% set taxCategories = [] %} {% for taxCategory in product.getType().taxCategories %} {% set taxCategories = taxCategories|merge([{'value': taxCategory.id, 'label': taxCategory.name}]) %} {% endfor %} {{ forms.selectField({ label: 'Tax'|t('commerce'), name: 'taxCategoryId', value: product.taxCategoryId, required: true, options: taxCategories }) }} {% set shippingCategories = [] %} {% for shippingCategory in product.getType().shippingCategories %} {% set shippingCategories = shippingCategories|merge([{'value': shippingCategory.id, 'label': shippingCategory.name}]) %} {% endfor %} {{ forms.selectField({ label: 'Shipping'|t('commerce'), name: 'shippingCategoryId', value: product.shippingCategoryId, required: true, options: shippingCategories }) }} {% endmacro %} {% macro generalVariantFields(variant, product) %} {%- import "_includes/forms" as forms -%} {%- import "commerce/_includes/forms/commerceForms" as commerceForms -%} {# For a new product hide/show the SKU field#} {% if product.type.skuFormat and (not product.id or not variant.id) %} {{ forms.hidden({ name: 'sku', value: '' }) }} {% else %} {{ forms.textField({ id: 'sku', label: 'SKU'|t('commerce'), required: true, name: 'sku', value: variant.sku, placeholder: 'Enter SKU'|t('commerce'), class: 'code', errors: variant.getErrors('sku') }) }} {% endif %} {{ forms.textField({ id: 'price', label: 'Price'|t('commerce')~' ('~craft.commerce.paymentCurrencies.primaryPaymentCurrency.iso|upper~')', name: 'price', value: (variant.price == '0' ? '0'|number : (variant.price ? variant.price|number ?: '')), placeholder: 'Enter price'|t('commerce'), required: true, errors: variant.getErrors('price') }) }} {% set stockInput %}