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 |