Skip to content

Settings ​

Type
Class
Namespace
craft\commerce\models
Inherits
craft\commerce\models\Settings » craft\commerce\base\Model » craft\base\Model » yii\base\Model » yii\base\Component » yii\base\BaseObject
Implements
ArrayAccess, IteratorAggregate, craft\base\ModelInterface, yii\base\Arrayable, yii\base\Configurable, yii\base\StaticInstanceInterface
Uses traits
craft\base\ClonefixTrait, yii\base\ArrayableTrait, yii\base\StaticInstanceTrait
Since
2.0

Settings model.

View source

Public Properties ​

PropertyDescription
activeCartDurationmixed – How long a cart should go without being updated before it’s considered inactive.
activeValidatorsyii\validators\Validator – The validators applicable to the current scenario.
allowCheckoutWithoutPaymentboolean – Whether carts are can be marked as completed without a payment.
allowEmptyCartOnCheckoutboolean – Whether carts are allowed to be empty on checkout.
allowPartialPaymentOnCheckoutboolean – Whether partial payment can be made from the front end when the gateway allows them.
attributesarray – Attribute values (name => value).
autoSetCartShippingMethodOptionboolean – Whether the first available shipping method option should be set automatically on carts.
autoSetNewCartAddressesboolean – Whether the user’s primary shipping and billing addresses should be set automatically on new carts.
autoSetPaymentSourceboolean – Whether the user’s primary payment source should be set automatically on new carts.
behaviorsyii\base\Behavior – List of behaviors attached to this component.
cartVariablestring – Key to be used when returning cart information in a response.
defaultViewstring – Commerce’s default control panel view.
defaultViewOptionsarray
dimensionUnitsstring – Unit type for dimension measurements.
dimensionsUnitsarray
emailSenderAddressstring, null – Default email address Commerce system messages should be sent from.
emailSenderAddressPlaceholderstring, null – Placeholder value displayed for the sender address control panel settings field.
emailSenderNamestring, null – Default from name used for Commerce system emails.
emailSenderNamePlaceholderstring, null – Placeholder value displayed for the sender name control panel settings field.
errorsarray – Errors for all attributes or the specified attribute.
firstErrorsarray – The first errors.
freeOrderPaymentStrategystring – How Commerce should handle free orders.
freeOrderPaymentStrategyOptionsarray
gatewayPostRedirectTemplatestring – The path to the template that should be used to perform POST requests to offsite payment gateways.
iteratorArrayIterator – An iterator for traversing the items in the list.
loadCartRedirectUrlstring, null – Default URL to be loaded after using the load cart controller action.
minimumTotalPriceStrategystring – How Commerce should handle minimum total price for an order.
minimumTotalPriceStrategyOptionsarray
orderReferenceFormatstring – Human-friendly reference number format for orders.
paymentCurrencyarray, null – ISO codes for supported payment currencies.
pdfAllowRemoteImagesboolean – Whether to allow non-local images in generated order PDFs.
pdfPaperOrientationstring – The orientation of the paper to use for generated order PDF files.
pdfPaperSizestring – The size of the paper to use for generated order PDFs.
purgeInactiveCartsboolean – Whether inactive carts should automatically be deleted from the database during garbage collection.
purgeInactiveCartsDurationmixed – Default length of time before inactive carts are purged.
requireBillingAddressAtCheckoutboolean – Whether a billing address is required before making payment on an order.
requireShippingAddressAtCheckoutboolean – Whether a shipping address is required before making payment on an order.
requireShippingMethodSelectionAtCheckoutboolean – Whether shipping method selection is required before making payment on an order.
scenariostring – The scenario that this model is in.
showEditUserCommerceTabboolean – Whether the Commerce Tab should be shown when viewing users in the control panel.
updateBillingDetailsUrlstring – URL for a user to resolve billing issues with their subscription.
updateCartSearchIndexesboolean – Whether the search index for a cart should be updated when saving the cart via commerce/cart/* controller actions.
useBillingAddressForTaxboolean – Whether taxes should be calculated based on the billing address instead of the shipping address.
validateBusinessTaxIdAsVatIdboolean – Whether to enable validation requiring the businessTaxId to be a valid VAT ID.
validateCartCustomFieldsOnSubmissionboolean – Whether to validate custom fields when a cart is updated.
validatorsArrayObject, yii\validators\Validator – All the validators declared in the model.
weightUnitsstring – Units to be used for weight measurements.
weightUnitsOptionsarray

activeCartDuration ​

Type
mixed
Default value
3600 (1 hour)
Since
2.2

How long a cart should go without being updated before it’s considered inactive.

See craft\helpers\ConfigHelper::durationInSeconds() for a list of supported value types.

View source

allowCheckoutWithoutPayment ​

Type
boolean
Default value
false
Since
3.3

Whether carts are can be marked as completed without a payment.

View source

allowEmptyCartOnCheckout ​

Type
boolean
Default value
false
Since
2.2

Whether carts are allowed to be empty on checkout.

View source

allowPartialPaymentOnCheckout ​

Type
boolean
Default value
false

Whether partial payment can be made from the front end when the gateway allows them.

The false default does not allow partial payments on the front end.

View source

autoSetCartShippingMethodOption ​

Type
boolean
Default value
false

Whether the first available shipping method option should be set automatically on carts.

View source

autoSetNewCartAddresses ​

Type
boolean
Default value
true

Whether the user’s primary shipping and billing addresses should be set automatically on new carts.

View source

autoSetPaymentSource ​

Type
boolean
Default value
false
Since
4.2

Whether the user’s primary payment source should be set automatically on new carts.

View source

cartVariable ​

Type
string
Default value
'cart'

Key to be used when returning cart information in a response.

View source

defaultView ​

Type
string
Default value
'commerce/orders'
Since
2.2

Commerce’s default control panel view. (Defaults to order index.)

View source

defaultViewOptions ​

Type
array
Default value
null

View source

dimensionUnits ​

Type
string
Default value
'mm'

Unit type for dimension measurements.

Options:

  • 'mm'
  • 'cm'
  • 'm'
  • 'ft'
  • 'in'

View source

dimensionsUnits ​

Type
array
Default value
null

View source

emailSenderAddress ​

Type
string, null
Default value
null

Default email address Commerce system messages should be sent from.

If null (default), Craft’s MailSettings::$fromEmail will be used.

View source

emailSenderAddressPlaceholder ​

Type
string, null
Default value
null

Placeholder value displayed for the sender address control panel settings field.

If null (default), Craft’s MailSettings::$fromEmail will be used.

View source

emailSenderName ​

Type
string, null
Default value
null

Default from name used for Commerce system emails.

If null (default), Craft’s MailSettings::$fromName will be used.

View source

emailSenderNamePlaceholder ​

Type
string, null
Default value
null

Placeholder value displayed for the sender name control panel settings field.

If null (default), Craft’s MailSettings::$fromName will be used.

View source

freeOrderPaymentStrategy ​

Type
string
Default value
'complete'

How Commerce should handle free orders.

The default 'complete' setting automatically completes zero-balance orders without forwarding them to the payment gateway.

The 'process' setting forwards zero-balance orders to the payment gateway for processing. This can be useful if the customer’s balance needs to be updated or otherwise adjusted by the payment gateway.

View source

freeOrderPaymentStrategyOptions ​

Type
array
Default value
null

View source

gatewayPostRedirectTemplate ​

Type
string
Default value
''

The path to the template that should be used to perform POST requests to offsite payment gateways.

The template must contain a form that posts to the URL supplied by the actionUrl variable and outputs all hidden inputs with the inputs variable.

twig
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Redirecting...</title>
</head>
<body onload="document.forms[0].submit();">
<form action="{{ actionUrl }}" method="post">
  <p>Redirecting to payment page...</p>
  <p>
    {{ inputs|raw }}
    <button type="submit">Continue</button>
  </p>
</form>
</body>
</html>

TIP

Since this template is simply used for redirecting, it only appears for a few seconds, so we suggest making it load fast with minimal images and inline styles to reduce HTTP requests.

If empty (default), each gateway will decide how to handle after-payment redirects.

View source

loadCartRedirectUrl ​

Type
string, null
Default value
null
Since
3.1

Default URL to be loaded after using the load cart controller action.

If null (default), Craft’s default siteUrl will be used.

View source

minimumTotalPriceStrategy ​

Type
string
Default value
'default'

How Commerce should handle minimum total price for an order.

Options:

  • 'default' rounds the sum of the item subtotal and adjustments.
  • 'zero' returns 0 if the result from 'default' would’ve been negative; minimum order total is 0.
  • 'shipping' returns the total shipping cost if the 'default' result would’ve been negative; minimum order total equals shipping amount.

View source

minimumTotalPriceStrategyOptions ​

Type
array
Default value
null

View source

orderReferenceFormat ​

Type
string
Default value
'{{number[:7]}}'

Human-friendly reference number format for orders. Result must be unique.

See Order Numbers.

View source

paymentCurrency ​

Type
array, null
Default value
null

ISO codes for supported payment currencies.

See Payment Currencies.

View source

pdfAllowRemoteImages ​

Type
boolean
Default value
false

Whether to allow non-local images in generated order PDFs.

View source

pdfPaperOrientation ​

Type
string
Default value
'portrait'

The orientation of the paper to use for generated order PDF files.

Options are 'portrait' and 'landscape'.

View source

pdfPaperSize ​

Type
string
Default value
'letter'

The size of the paper to use for generated order PDFs.

The full list of supported paper sizes can be found in the dompdf library.

View source

purgeInactiveCarts ​

Type
boolean
Default value
true

Whether inactive carts should automatically be deleted from the database during garbage collection.

TIP

You can control how long a cart should go without being updated before it gets deleted purgeInactiveCartsDuration setting.

View source

purgeInactiveCartsDuration ​

Type
mixed
Default value
7776000 (90 days)

Default length of time before inactive carts are purged. (Defaults to 90 days.)

See craft\helpers\ConfigHelper::durationInSeconds() for a list of supported value types.

View source

requireBillingAddressAtCheckout ​

Type
boolean
Default value
false

Whether a billing address is required before making payment on an order.

View source

requireShippingAddressAtCheckout ​

Type
boolean
Default value
false

Whether a shipping address is required before making payment on an order.

View source

requireShippingMethodSelectionAtCheckout ​

Type
boolean
Default value
false

Whether shipping method selection is required before making payment on an order.

View source

showEditUserCommerceTab ​

Type
boolean
Default value
true
Since
4.0

Whether the Commerce Tab should be shown when viewing users in the control panel.

View source

updateBillingDetailsUrl ​

Type
string
Default value
''

URL for a user to resolve billing issues with their subscription.

TIP

The example templates include a template for this page.

View source

updateCartSearchIndexes ​

Type
boolean
Default value
true
Since
3.1.5

Whether the search index for a cart should be updated when saving the cart via commerce/cart/* controller actions.

May be set to false to reduce performance impact on high-traffic sites.

WARNING

Setting this to false will result in fewer index update queue jobs, but you’ll need to manually re-index orders to ensure up-to-date cart search results in the control panel.

View source

useBillingAddressForTax ​

Type
boolean
Default value
false

Whether taxes should be calculated based on the billing address instead of the shipping address.

View source

validateBusinessTaxIdAsVatId ​

Type
boolean
Default value
false

Whether to enable validation requiring the businessTaxId to be a valid VAT ID.

When set to false, no validation is applied to businessTaxId.

When set to true, businessTaxId must contain a valid VAT ID.

TIP

This setting strictly toggles input validation and has no impact on tax configuration or behavior elsewhere in the system.

View source

validateCartCustomFieldsOnSubmission ​

Type
boolean
Default value
false
Since
3.0.12

Whether to validate custom fields when a cart is updated.

Set to true to allow custom content fields to return validation errors when a cart is updated.

View source

weightUnits ​

Type
string
Default value
'g'

Units to be used for weight measurements.

Options:

  • 'g'
  • 'kg'
  • 'lb'

View source

weightUnitsOptions ​

Type
array
Default value
null

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
activeAttributes()Returns the attribute names that are subject to validation in the current scenario.
addError()Adds a new error to the specified attribute.
addErrors()Adds a list of errors.
addModelErrors()Adds errors from another model, with a given attribute name prefix.
afterValidate()This method is invoked after validation ends.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
attributeHints()Returns the attribute hints.
attributeLabels()Returns the attribute labels.
attributes()Returns the list of attribute names.
beforeValidate()This method is invoked before validation starts.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
clearErrors()Removes errors for all attributes or a single attribute.
createValidators()Creates validator objects based on the validation rules specified in rules().
datetimeAttributes()Returns the names of any attributes that should hold DateTime values.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
extraFields()Returns the list of fields that can be expanded further and returned by toArray().
fields()Returns the list of fields that should be returned by default by toArray() when no specific fields are specified.
formName()Returns the form name that this model class should use.
generateAttributeLabel()Generates a user friendly attribute label based on the give attribute name.
getActiveValidators()Returns the validators applicable to the current scenario.
getAttributeHint()Returns the text hint for the specified attribute.
getAttributeLabel()Returns the text label for the specified attribute.
getAttributes()Returns attribute values.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getDefaultViewOptions()Returns a key-value array of default control panel view options and labels.
getDimensionUnits()Returns a key-value array of dimension unit options and labels.
getErrorSummary()Returns the errors for all attributes as a one-dimensional array.
getErrors()Returns the errors for all attributes or a single attribute.
getFirstError()Returns the first error of the specified attribute.
getFirstErrors()Returns the first error of every attribute in the model.
getFreeOrderPaymentStrategyOptions()Returns a key-value array of freeOrderPaymentStrategy options and labels.
getIterator()Returns an iterator for traversing the attributes in the model.
getMinimumTotalPriceStrategyOptions()Returns a key-value array of minimumTotalPriceStrategy options and labels.
getPaymentCurrency()Returns the ISO payment currency for a given site, or the default site if no handle is provided.
getScenario()Returns the scenario that this model is used in.
getValidators()Returns all the validators declared in rules().
getWeightUnitsOptions()Returns a key-value array of weight unit options and labels.
hasErrors()Returns a value indicating whether there is any validation error.
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
instance()Returns static class instance, which can be used to obtain meta information.
isAttributeActive()Returns a value indicating whether the attribute is active in the current scenario.
isAttributeRequired()Returns a value indicating whether the attribute is required.
isAttributeSafe()Returns a value indicating whether the attribute is safe for massive assignments.
load()Populates the model with input data.
loadMultiple()Populates a set of models with the data from end user.
off()Detaches an existing event handler from this component.
offsetExists()Returns whether there is an element at the specified offset.
offsetGet()Returns the element at the specified offset.
offsetSet()Sets the element at the specified offset.
offsetUnset()Sets the element value at the specified offset to null.
on()Attaches an event handler to an event.
onUnsafeAttribute()This method is invoked when an unsafe attribute is being massively assigned.
rules()Returns the validation rules for attributes.
safeAttributes()Returns the attribute names that are safe to be massively assigned in the current scenario.
scenarios()Returns a list of scenarios and the corresponding active attributes.
setAttributes()Sets the attribute values in a massive way.
setScenario()Sets the scenario for the model.
toArray()Converts the model into an array.
trigger()Triggers an event.
validate()Performs the data validation.
validateMultiple()Validates multiple models.

getDefaultViewOptions() ​

Since
2.2

Returns a key-value array of default control panel view options and labels.

View source

getDimensionUnits() ​

Returns a key-value array of dimension unit options and labels.

View source

getFreeOrderPaymentStrategyOptions() ​

Returns a key-value array of freeOrderPaymentStrategy options and labels.

View source

getMinimumTotalPriceStrategyOptions() ​

Returns a key-value array of minimumTotalPriceStrategy options and labels.

View source

getPaymentCurrency() ​

Returns the ISO payment currency for a given site, or the default site if no handle is provided.

View source

Arguments ​

Throws ​

getWeightUnitsOptions() ​

Returns a key-value array of weight unit options and labels.

View source

setAttributes() ​

Sets the attribute values in a massive way.

View source

Arguments ​

  • $values (array) – Attribute values (name => value) to be assigned to the model.
  • $safeOnly (boolean) – Whether the assignments should only be done to the safe attributes. A safe attribute is one that is associated with a validation rule in the current scenario.

Protected Methods ​

MethodDescription
defineBehaviors()Returns the behaviors to attach to this class.
defineRules()Returns the validation rules for attributes.
extractFieldsFor()Extract nested fields from a fields collection for a given root field Nested fields are separated with dots (.). e.g: "item.id" The previous example would extract "id".
extractRootFields()Extracts the root field names from nested fields.
resolveFields()Determines which fields can be returned by toArray().

defineRules() ​

Returns the validation rules for attributes.

See rules() for details about what should be returned.

Models should override this method instead of rules() so EVENT_DEFINE_RULES handlers can modify the class-defined rules.

View source

Returns ​

array

Constants ​

ConstantDescription
FREE_ORDER_PAYMENT_STRATEGY_COMPLETE
FREE_ORDER_PAYMENT_STRATEGY_PROCESS
MINIMUM_TOTAL_PRICE_STRATEGY_DEFAULT
MINIMUM_TOTAL_PRICE_STRATEGY_SHIPPING
MINIMUM_TOTAL_PRICE_STRATEGY_ZERO
SCENARIO_DEFAULTThe name of the default scenario.
VIEW_URI_CUSTOMERS
VIEW_URI_ORDERS
VIEW_URI_PRODUCTS
VIEW_URI_PROMOTIONS
VIEW_URI_SHIPPING
VIEW_URI_SUBSCRIPTIONS
VIEW_URI_TAX
OSZAR »