Purchasable
- Type
- Class
- Namespace
- craft\commerce\test\mockclasses
- Inherits
- craft\commerce\test\mockclasses\Purchasable » craft\commerce\base\Purchasable » craft\base\Element (opens new window) » craft\base\Component (opens new window) » craft\base\Model (opens new window) » yii\base\Model (opens new window) » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
- Implements
- ArrayAccess (opens new window), IteratorAggregate (opens new window), craft\base\ComponentInterface (opens new window), craft\base\ElementInterface (opens new window), craft\commerce\base\PurchasableInterface, yii\base\Arrayable (opens new window), yii\base\Configurable (opens new window), yii\base\StaticInstanceInterface (opens new window)
- Uses traits
- craft\base\ClonefixTrait (opens new window), craft\base\ElementTrait (opens new window), yii\base\ArrayableTrait (opens new window), yii\base\StaticInstanceTrait (opens new window)
- Since
- 2.1
Purchasable
View source (opens new window)
# Public Properties
# isPromotable
- Default value
true
View source (opens new window)
# price
- Default value
25.1
View source (opens new window)
# Protected Properties
Property | Description |
---|---|
revisionCreatorId (opens new window) | string (opens new window), null (opens new window) – Revision creator ID to be saved |
revisionNotes (opens new window) | string (opens new window), null (opens new window) – Revision notes to be saved |
# Public Methods
Method | Description |
---|---|
__call() (opens new window) | Calls the named method which is not a class method. |
__clone() (opens new window) | |
__construct() (opens new window) | Constructor. |
__get() (opens new window) | Returns the value of a component property. |
__isset() (opens new window) | Checks if a property is set. |
__set() (opens new window) | Sets the value of a component property. |
__toString() (opens new window) | Returns the string representation of the element. |
__unset() (opens new window) | Sets a component property to be null. |
actions() (opens new window) | Returns the available element actions (opens new window) for a given source. |
activeAttributes() (opens new window) | Returns the attribute names that are subject to validation in the current scenario. |
addError() (opens new window) | Adds a new error to the specified attribute. |
addErrors() (opens new window) | Adds a list of errors. |
addModelErrors() (opens new window) | Adds errors from another model, with a given attribute name prefix. |
afterDelete() | Clean up purchasable table |
afterMoveInStructure() (opens new window) | Performs actions after an element is moved within a structure. |
afterOrderComplete() | Runs any logic needed for this purchasable after it was on an order that was just completed (not when an order was paid, although paying an order will complete it). |
afterPropagate() (opens new window) | Performs actions after an element is fully saved and propagated to other sites. |
afterRestore() (opens new window) | Performs actions after an element is restored. |
afterSave() | Update purchasable table |
afterValidate() (opens new window) | This method is invoked after validation ends. |
attachBehavior() (opens new window) | Attaches a behavior to this component. |
attachBehaviors() (opens new window) | Attaches a list of behaviors to the component. |
attributeHints() (opens new window) | Returns the attribute hints. |
attributeLabels() (opens new window) | Returns the attribute labels. |
attributes() | Returns the list of attribute names. |
beforeDelete() (opens new window) | Performs actions before an element is deleted. |
beforeMoveInStructure() (opens new window) | Performs actions before an element is moved within a structure. |
beforeRestore() (opens new window) | Performs actions before an element is restored. |
beforeSave() (opens new window) | Performs actions before an element is saved. |
beforeValidate() (opens new window) | This method is invoked before validation starts. |
behaviors() (opens new window) | Returns a list of behaviors that this component should behave as. |
canGetProperty() (opens new window) | Returns a value indicating whether a property can be read. |
canSetProperty() (opens new window) | Returns a value indicating whether a property can be set. |
className() (opens new window) | Returns the fully qualified name of this class. |
clearErrors() (opens new window) | Removes errors for all attributes or a single attribute. |
createValidators() (opens new window) | Creates validator objects based on the validation rules specified in rules() (opens new window). |
datetimeAttributes() (opens new window) | Returns the names of any attributes that should hold DateTime (opens new window) values. |
defaultTableAttributes() (opens new window) | Returns the list of table attribute keys that should be shown by default. |
detachBehavior() (opens new window) | Detaches a behavior from the component. |
detachBehaviors() (opens new window) | Detaches all behaviors from the component. |
displayName() | Returns the display name of this class. |
eagerLoadingMap() (opens new window) | Returns an array that maps source-to-target element IDs based on the given sub-property handle. |
ensureBehaviors() (opens new window) | Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component. |
exporters() (opens new window) | Returns the available export options for a given source. |
extraFields() (opens new window) | Returns the list of fields that can be expanded further and returned by toArray() (opens new window). |
fieldLayouts() (opens new window) | Returns all of the field layouts associated with elements from the given source. |
fields() (opens new window) | Returns the list of fields that should be returned by default by toArray() (opens new window) when no specific fields are specified. |
find() (opens new window) | Creates an craft\elements\db\ElementQueryInterface (opens new window) instance for query purpose. |
findAll() (opens new window) | Returns a list of elements that match the specified ID(s) or a set of element criteria parameters. |
findOne() (opens new window) | Returns a single element instance by a primary key or a set of element criteria parameters. |
formName() (opens new window) | Returns the form name that this model class should use. |
generateAttributeLabel() (opens new window) | Generates a user friendly attribute label based on the give attribute name. |
getActiveValidators() (opens new window) | Returns the validators applicable to the current scenario (opens new window). |
getAncestors() (opens new window) | Returns the element’s ancestors. |
getAttributeHint() (opens new window) | Returns the text hint for the specified attribute. |
getAttributeLabel() (opens new window) | Returns the text label for the specified attribute. |
getAttributeStatus() (opens new window) | Returns the status of a given attribute. |
getAttributes() (opens new window) | Returns attribute values. |
getBehavior() (opens new window) | Returns the named behavior object. |
getBehaviors() (opens new window) | Returns all behaviors attached to this component. |
getCacheTags() (opens new window) | Returns the cache tags that should be cleared when this element is saved. |
getCanonical() (opens new window) | Returns the canonical version of the element. |
getCanonicalId() (opens new window) | Returns the element’s canonical ID. |
getCanonicalUid() (opens new window) | Returns the element’s canonical UUID. |
getChildren() (opens new window) | Returns the element’s children. |
getContentTable() (opens new window) | Returns the name of the table this element’s content is stored in. |
getCpEditUrl() (opens new window) | Returns the element’s edit URL in the control panel. |
getCurrentRevision() (opens new window) | Returns the element’s current revision, if one exists. |
getDescendants() (opens new window) | Returns the element’s descendants. |
getDescription() | Returns your element's title or any additional descriptive information. |
getDirtyAttributes() (opens new window) | Returns a list of attribute names that have changed since the element was first loaded. |
getDirtyFields() (opens new window) | Returns a list of custom field handles that have changed since the element was first loaded. |
getEagerLoadedElementCount() (opens new window) | Returns the count of eager-loaded elements for a given handle. |
getEagerLoadedElements() (opens new window) | Returns the eager-loaded elements for a given handle. |
getEditorHtml() (opens new window) | Returns the HTML for the element’s editor slideout. |
getEnabledForSite() (opens new window) | Returns whether the element is enabled for the current site. |
getError() (opens new window) | Returns the first error of the specified attribute. |
getErrorSummary() (opens new window) | Returns the errors for all attributes as a one-dimensional array. |
getErrors() (opens new window) | Returns the errors for all attributes or a single attribute. |
getFieldColumnPrefix() (opens new window) | Returns the field column prefix this element’s content uses. |
getFieldContext() (opens new window) | Returns the field context this element’s content uses. |
getFieldLayout() (opens new window) | Returns the field layout used by this element. |
getFieldParamNamespace() (opens new window) | Returns the namespace used by custom field params on the request. |
getFieldStatus() (opens new window) | Returns the status of a given field. |
getFieldValue() (opens new window) | Returns the value for a given field. |
getFieldValues() (opens new window) | Returns the element’s normalized custom field values, indexed by their handles. |
getFirstError() (opens new window) | Returns the first error of the specified attribute. |
getFirstErrors() (opens new window) | Returns the first error of every attribute in the model. |
getGqlTypeName() (opens new window) | Returns the GraphQL type name for this element type. |
getHasCheckeredThumb() (opens new window) | Returns whether the element’s thumbnail should have a checkered background. |
getHasDescendants() (opens new window) | Returns whether the element has descendants. |
getHasFreshContent() (opens new window) | Returns whether the element is "fresh" (not yet explicitly saved, and without validation errors). |
getHasRoundedThumb() (opens new window) | Returns whether the element’s thumbnail should be rounded. |
getHtmlAttributes() (opens new window) | Returns any attributes that should be included in the element’s DOM representation in the control panel. |
getId() (opens new window) | |
getIsAvailable() | Returns whether the purchasable is currently available for purchase. |
getIsCanonical() (opens new window) | Returns whether this is the canonical element. |
getIsDeletable() (opens new window) | Returns whether the current user can delete the element. |
getIsDerivative() (opens new window) | Returns whether this is a derivative element, such as a draft or revision. |
getIsDraft() (opens new window) | Returns whether this is a draft. |
getIsEditable() (opens new window) | Returns whether the current user can edit the element. |
getIsFresh() (opens new window) | Returns whether the element is "fresh" (not yet explicitly saved, and without validation errors). |
getIsHomepage() (opens new window) | Returns whether this element represents the site homepage. |
getIsPromotable() | |
getIsProvisionalDraft() (opens new window) | Returns whether this is a provisional draft. |
getIsRevision() (opens new window) | Returns whether this is a revision. |
getIsShippable() | |
getIsTaxable() | Returns whether this purchasable is exempt from taxes. |
getIsTitleTranslatable() (opens new window) | Returns whether the Title field should be shown as translatable in the UI. |
getIsUnpublishedDraft() (opens new window) | Returns whether the element is an unpublished draft. |
getIsUnsavedDraft() (opens new window) | Returns whether the element is an unpublished draft. |
getIterator() (opens new window) | Returns an iterator for traversing the attributes in the model. |
getLanguage() (opens new window) | Returns the language of the element. |
getLineItemRules() | Returns any validation rules this purchasable required the line item to have. |
getLink() (opens new window) | Returns an anchor pre-filled with this element’s URL and title. |
getLocalized() (opens new window) | Returns the same element in other locales. |
getMetadata() (opens new window) | Returns element metadata that can be shown on its edit page or within element editor slideouts. |
getModifiedAttributes() (opens new window) | Returns the attribute names that have changed for this element. |
getModifiedFields() (opens new window) | Returns the field handles that have changed for this element. |
getNext() (opens new window) | Returns the next element relative to this one, from a given set of criteria. |
getNextSibling() (opens new window) | Returns the element’s next sibling. |
getOnSale() | |
getOutdatedAttributes() (opens new window) | Returns the attribute names that have been updated on the canonical element since the last time it was merged into this element. |
getOutdatedFields() (opens new window) | Returns the field handles that have been updated on the canonical element since the last time it was merged into this element. |
getParent() (opens new window) | Returns the element’s parent. |
getParentUri() (opens new window) | Returns the parent element’s URI, if there is one. |
getPrev() (opens new window) | Returns the previous element relative to this one, from a given set of criteria. |
getPrevSibling() (opens new window) | Returns the element’s previous sibling. |
getPreviewTargets() (opens new window) | Returns the additional locations that should be available for previewing the element, besides its primary URL (opens new window). |
getPrice() | |
getPromotionRelationSource() | Returns the source param used for knowing if a promotion category is related to this purchasable. |
getRef() (opens new window) | Returns the reference string to this element. |
getRoute() (opens new window) | Returns the route that should be used when the element’s URI is requested. |
getSalePrice() | Returns the base price the item will be added to the line item with. |
getSales() | Returns an array of sales models which are currently affecting the salePrice of this purchasable. |
getScenario() (opens new window) | Returns the scenario that this model is used in. |
getSearchKeywords() (opens new window) | Returns the search keywords for a given search attribute. |
getSerializedFieldValues() (opens new window) | Returns an array of the element’s serialized custom field values, indexed by their handles. |
getShippingCategoryId() | Returns the purchasable's shipping category ID. |
getSiblings() (opens new window) | Returns all of the element’s siblings. |
getSidebarHtml() (opens new window) | Returns the HTML for any fields/info that should be shown within the sidebar of element editor slideouts. |
getSite() (opens new window) | Returns the site the element is associated with. |
getSku() | |
getSnapshot() | Returns an array of data that is serializable to json for storing a line item at time of adding to the cart or order. |
getSourceId() (opens new window) | Returns the element’s canonical ID. |
getSourceUid() (opens new window) | Returns the element’s canonical UID. |
getStatus() (opens new window) | Returns the element’s status. |
getSupportedSites() (opens new window) | Returns the sites this element is associated with. |
getTableAttributeHtml() (opens new window) | Returns the HTML that should be shown for a given attribute in Table View. |
getTaxCategoryId() | Returns the purchasable's tax category ID. |
getThumbUrl() (opens new window) | Returns the URL to the element’s thumbnail, if there is one. |
getTitleTranslationDescription() (opens new window) | Returns the description of the Title field’s translation support. |
getTitleTranslationKey() (opens new window) | Returns the Title’s translation key. |
getTotalDescendants() (opens new window) | Returns the total number of descendants that the element has. |
getUiLabel() (opens new window) | Returns what the element should be called within the control panel. |
getUriFormat() (opens new window) | Returns the URI format used to generate this element’s URI. |
getUrl() (opens new window) | Returns the element’s full URL. |
getValidators() (opens new window) | Returns all the validators declared in rules() (opens new window). |
gqlMutationNameByContext() (opens new window) | Returns the GraphQL mutation name by an element's context. |
gqlScopesByContext() (opens new window) | Returns the GraphQL scopes required by element's context. |
gqlTypeNameByContext() (opens new window) | Returns the GraphQL type name by an element's context. |
hasContent() (opens new window) | Returns whether elements of this type will be storing any data in the content table (titles or custom fields). |
hasEagerLoadedElements() (opens new window) | Returns whether elements have been eager-loaded with a given handle. |
hasErrors() (opens new window) | Returns a value indicating whether there is any validation error. |
hasEventHandlers() (opens new window) | Returns a value indicating whether there is any handler attached to the named event. |
hasFreeShipping() | Returns whether this purchasable has free shipping. |
hasMethod() (opens new window) | Returns a value indicating whether a method is defined. |
hasProperty() (opens new window) | Returns a value indicating whether a property is defined for this component. |
hasStatuses() (opens new window) | Returns whether elements of this type have statuses. |
hasTitles() (opens new window) | Returns whether elements of this type have traditional titles. |
hasUris() (opens new window) | Returns whether elements of this type can have their own slugs and URIs. |
indexHtml() (opens new window) | Returns the element index HTML. |
init() (opens new window) | Initializes the object. |
instance() (opens new window) | Returns static class instance, which can be used to obtain meta information. |
isAncestorOf() (opens new window) | Returns whether this element is an ancestor of another one. |
isAttributeActive() (opens new window) | Returns a value indicating whether the attribute is active in the current scenario. |
isAttributeDirty() (opens new window) | Returns whether an attribute has changed since the element was first loaded. |
isAttributeModified() (opens new window) | Returns whether an attribute value has changed for this element. |
isAttributeOutdated() (opens new window) | Returns whether an attribute value has fallen behind the canonical element’s value. |
isAttributeRequired() (opens new window) | Returns a value indicating whether the attribute is required. |
isAttributeSafe() (opens new window) | Returns a value indicating whether the attribute is safe for massive assignments. |
isChildOf() (opens new window) | Returns whether this element is a direct child of another one. |
isDescendantOf() (opens new window) | Returns whether this element is a descendant of another one. |
isFieldDirty() (opens new window) | Returns whether a custom field value has changed since the element was first loaded. |
isFieldEmpty() (opens new window) | Returns whether a field is empty. |
isFieldModified() (opens new window) | Returns whether a field value has changed for this element. |
isFieldOutdated() (opens new window) | Returns whether a field value has fallen behind the canonical element’s value. |
isLocalized() (opens new window) | Returns whether elements of this type store content on a per-site basis. |
isNextSiblingOf() (opens new window) | Returns whether this element is the direct next sibling of another one. |
isParentOf() (opens new window) | Returns whether this element is a direct parent of another one. |
isPrevSiblingOf() (opens new window) | Returns whether this element is the direct previous sibling of another one. |
isSelectable() (opens new window) | Returns whether the component should be selectable in component Type selects. |
isSiblingOf() (opens new window) | Returns whether this element is a sibling of another one. |
load() (opens new window) | Populates the model with input data. |
loadMultiple() (opens new window) | Populates a set of models with the data from end user. |
lowerDisplayName() (opens new window) | Returns the lowercase version of displayName() (opens new window). |
markAsClean() (opens new window) | Resets the record of dirty attributes and fields. |
markAsDirty() (opens new window) | Marks all fields and attributes as dirty. |
mergeCanonicalChanges() (opens new window) | Merges changes from the canonical element into this one. |
off() (opens new window) | Detaches an existing event handler from this component. |
offsetExists() (opens new window) | Returns whether there is an element at the specified offset. |
offsetGet() (opens new window) | Returns the element at the specified offset. |
offsetSet() (opens new window) | Sets the element at the specified offset. |
offsetUnset() (opens new window) | Sets the element value at the specified offset to null. |
on() (opens new window) | Attaches an event handler to an event. |
onUnsafeAttribute() (opens new window) | This method is invoked when an unsafe attribute is being massively assigned. |
pluralDisplayName() (opens new window) | Returns the plural version of displayName() (opens new window). |
pluralLowerDisplayName() (opens new window) | Returns the plural, lowercase version of displayName() (opens new window). |
populateLineItem() | Populates the line item when this purchasable is found on it. Called when Purchasable is added to the cart and when the cart recalculates. |
refHandle() (opens new window) | Returns the handle that should be used to refer to this element type from reference tags. |
relatedSales() | |
rules() (opens new window) | Returns the validation rules for attributes. |
safeAttributes() (opens new window) | Returns the attribute names that are safe to be massively assigned in the current scenario. |
scenarios() (opens new window) | Returns a list of scenarios and the corresponding active attributes. |
searchableAttributes() (opens new window) | Defines which element attributes should be searchable. |
setAttributes() (opens new window) | Sets the attribute values in a massive way. |
setCanonical() (opens new window) | Sets the canonical version of the element. |
setCanonicalId() (opens new window) | Sets the element’s canonical ID. |
setDirtyAttributes() (opens new window) | Sets the list of dirty attribute names. |
setEagerLoadedElementCount() (opens new window) | Sets the count of eager-loaded elements for a given handle. |
setEagerLoadedElements() (opens new window) | Sets some eager-loaded elements on a given handle. |
setEnabledForSite() (opens new window) | Sets whether the element is enabled for the current site. |
setFieldParamNamespace() (opens new window) | Sets the namespace used by custom field params on the request. |
setFieldValue() (opens new window) | Sets the value for a given field. |
setFieldValues() (opens new window) | Sets the element’s custom field values. |
setFieldValuesFromRequest() (opens new window) | Sets the element’s custom field values, when the values have come from post data. |
setIsFresh() (opens new window) | Sets whether the element is "fresh" (not yet explicitly saved, and without validation errors). |
setNext() (opens new window) | Sets the default next element. |
setParent() (opens new window) | Sets the element’s parent. |
setPrev() (opens new window) | Sets the default previous element. |
setRevisionCreatorId() (opens new window) | Sets the revision creator ID to be saved. |
setRevisionNotes() (opens new window) | Sets the revision notes to be saved. |
setScenario() (opens new window) | Sets the scenario for the model. |
setUiLabel() (opens new window) | Defines what the element should be called within the control panel. |
sortOptions() (opens new window) | Returns the sort options for the element type. |
sources() (opens new window) | Returns the source definitions that elements of this type may belong to. |
statuses() (opens new window) | Returns all of the possible statuses that elements of this type may have. |
tableAttributes() (opens new window) | Defines all of the available columns that can be shown in table views. |
toArray() (opens new window) | Converts the model into an array. |
trackChanges() (opens new window) | Returns whether Craft should keep track of attribute and custom field changes made to this element type, including when the last time they were changed, and who was logged-in at the time. |
trigger() (opens new window) | Triggers an event. |
validate() (opens new window) | Performs the data validation. |
validateCustomFieldAttribute() (opens new window) | Calls a custom validation function on a custom field. |
validateCustomFieldContentSize() (opens new window) | Validates that the content size is going to fit within the field’s database column. |
validateMultiple() (opens new window) | Validates multiple models. |
# getIsPromotable()
View source (opens new window)
Returns
# getPrice()
View source (opens new window)
Returns
# getSku()
View source (opens new window)
Returns
# Protected Methods
Method | Description |
---|---|
cpEditUrl() (opens new window) | Returns the element’s edit URL in the control panel. |
defineActions() (opens new window) | Defines the available element actions for a given source. |
defineDefaultTableAttributes() (opens new window) | Returns the list of table attribute keys that should be shown by default. |
defineExporters() (opens new window) | Defines the available element exporters for a given source. |
defineFieldLayouts() (opens new window) | Defines the field layouts associated with elements for a given source. |
defineRules() | Returns the validation rules for attributes. |
defineSearchableAttributes() (opens new window) | Defines which element attributes should be searchable. |
defineSortOptions() (opens new window) | Returns the sort options for the element type. |
defineSources() (opens new window) | Defines the sources that elements of this type may belong to. |
defineTableAttributes() (opens new window) | Defines all of the available columns that can be shown in table views. |
extractFieldsFor() (opens new window) | 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() (opens new window) | Extracts the root field names from nested fields. |
fieldByHandle() (opens new window) | Returns the field with a given handle. |
fieldLayoutFields() (opens new window) | Returns each of this element’s fields. |
findByCondition() (opens new window) | Finds Element instance(s) by the given condition. |
hasFieldLayout() (opens new window) | Returns whether the element has a field layout with at least one tab. |
htmlAttributes() (opens new window) | Returns any attributes that should be included in the element’s DOM representation in the control panel. |
isDeletable() (opens new window) | Returns whether the current user can delete the element. |
isEditable() (opens new window) | Returns whether the current user can edit the element. |
metaFieldsHtml() (opens new window) | Returns the HTML for any meta fields that should be shown within the sidebar of element editor slideouts. Or if the element doesn’t have a field layout, they’ll be shown in the main body of the slideout. |
metadata() (opens new window) | Returns element metadata that can be shown on its edit page or within element editor slideouts. |
normalizeFieldValue() (opens new window) | Normalizes a field’s value. |
prepElementQueryForTableAttribute() (opens new window) | Preps the element criteria for a given table attribute |
previewTargets() (opens new window) | Returns the additional locations that should be available for previewing the element, besides its primary URL (opens new window). |
resolveFields() (opens new window) | Determines which fields can be returned by toArray() (opens new window). |
route() (opens new window) | Returns the route that should be used when the element’s URI is requested. |
searchKeywords() (opens new window) | Returns the search keywords for a given search attribute. |
slugFieldHtml() (opens new window) | Returns the HTML for the element’s Slug field. |
tableAttributeHtml() (opens new window) | Returns the HTML that should be shown for a given attribute in Table View. |
uiLabel() (opens new window) | Returns what the element should be called within the control panel. |
# Constants
Constant | Description |
---|---|
ATTR_STATUS_CONFLICTED | |
ATTR_STATUS_MODIFIED | |
ATTR_STATUS_OUTDATED | |
HOMEPAGE_URI | |
SCENARIO_DEFAULT | The name of the default scenario. |
SCENARIO_ESSENTIALS | |
SCENARIO_LIVE | |
STATUS_ARCHIVED | |
STATUS_DISABLED | |
STATUS_ENABLED |