Variant Model

This document is for a version of Craft Commerce that is no longer supported. Please refer to the latest version →

Variants are Craft Elements and also purchasables.

VariantModel objects have the following attributes and methods:

#Attributes

#title

The variants title as generated by the title formatter on the product type definition.

#id

The ID of the variant in the system.

#purchasableId

Returns this variant’s ID - as variants are purchasables.

#product

Returns this variant’s Product model

#price

The listing price of the variant.

#salePrice

The price of the variant after sales have been applied. Will be equal to price if no sales were applicable.

#sku

The SKU of the variant.

#isDefault

Returns true or false if this variant is the default variant of a product.

#hasStock

Returns true or false if the variant has unlimited stock or a stock count greater than zero.

#unlimitedStock

Returns true or false if this variant has unlimited stock

#stock

Returns the stock count on hand, or zero if unlimitedStock is true.

#maxQty

The maximum quantity that can be ordered at once for this variant (in a single cart/order)

#minQty

The minimum quantity that can be ordered at once for this variant (in a single cart/order)

#weight

The variants weight

#height

The variants height

#length

The variants length

#width

The variants width

#cpEditUrl

The URL to edit this variant’s edit page in the Control Panel.

#sortOrder

Returns the order number of the variant as defined on the Edit Product page.

#onSale

Returns true or false when any sales are applied to this variant. This is just a helper to test if there is a saleAmount not equal to zero.

#salesApplied

Returns an array of sales that have been applied, allowing you to access the description of the sale with {{ variant.salesApplied[0].description }}

#description

The description of the purchasable which is the result of the product type’s “Order Description Format” option.