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.