Purchasable
- Type
- Class
- Namespace
- craft\commerce\test\mockclasses
- Inherits
- craft\commerce\test\mockclasses\Purchasable » craft\commerce\base\Purchasable » craft\base\Element » craft\base\Component » craft\base\Model » yii\base\Model » yii\base\Component » yii\base\BaseObject
- Implements
- ArrayAccess, IteratorAggregate, craft\base\ComponentInterface, craft\base\ElementInterface, craft\base\ModelInterface, craft\commerce\base\HasStoreInterface, craft\commerce\base\PurchasableInterface, yii\base\Arrayable, yii\base\Configurable, yii\base\StaticInstanceInterface
- Uses traits
- craft\base\ClonefixTrait, craft\base\ElementTrait, yii\base\ArrayableTrait, yii\base\StaticInstanceTrait
- Since
- 2.1
Purchasable
Public Properties
| Property | Description |
|---|---|
| actionMenuItems | |
| activeValidators | yii\validators\Validator – The validators applicable to the current scenario. |
| additionalButtons | string |
| allowOutOfStockPurchases | boolean |
| altActions | array |
| ancestors | craft\elements\db\ElementQueryInterface – The element’s ancestors |
| archived | boolean – Whether the element is archived |
| attributes | array – Attribute values (name => value). |
| attributesFromRequest | array – The attribute values |
| availableForPurchase | boolean |
| awaitingFieldValues | boolean – Whether the element is still awaiting its custom field values |
| basePrice | float, null |
| basePriceAsCurrency | string – the base price |
| basePromotionalPrice | float, null |
| basePromotionalPriceAsCurrency | string – the base promotional price |
| behaviors | yii\base\Behavior – List of behaviors attached to this component. |
| cacheTags | string[] |
| canonical | craft\base\ElementInterface, null – The canonical element, if one exists for the current site |
| canonicalId | integer, null – The element’s canonical ID |
| canonicalUid | string – The element’s canonical UID |
| cardBodyHtml | string, null |
| cardTitle | string, null |
| catalogPricingRule | craft\commerce\models\CatalogPricingRule, null |
| catalogPricingRuleId | integer, null |
| children | craft\elements\db\ElementQueryInterface – The element’s children |
| chipLabelHtml | string |
| cpEditUrl | string, null – The element’s edit URL in the control panel |
| cpRevisionsUrl | string, null |
| crumbs | array |
| currentRevision | self, null |
| dateCreated | DateTime, null – The date that the element was created |
| dateDeleted | DateTime, null – The date that the element was trashed |
| dateLastMerged | DateTime, null – The date that the canonical element was last merged into this one |
| dateUpdated | DateTime, null – The date that the element was last updated |
| deletedWithOwner | boolean, null – Whether the element was deleted along with its owner |
| descendants | craft\elements\db\ElementQueryInterface – The element’s descendants |
| description | string – the element's title or any additional descriptive information |
| dirtyAttributes | string[] |
| dirtyFields | string[] |
| draftId | integer, null – The ID of the draft’s row in the drafts table |
| duplicateOf | craft\base\ElementInterface, null – The element that this element is duplicating. |
| eagerLoadInfo | craft\elements\db\EagerLoadInfo, null – Info about the eager loading setup used to query this element. |
| editorHtml | string – The HTML for the element’s editor HUD |
| elementQueryResult | craft\base\ElementInterface, null – All elements that the element was queried with. |
| enabled | boolean – Whether the element is enabled |
| enabledForSite | boolean – Whether the element is enabled for this site |
| errors | array – Errors for all attributes or the specified attribute. |
| fieldContext | string – The field context this element’s content uses |
| fieldLayout | craft\models\FieldLayout, null – The field layout used by this element |
| fieldLayoutId | integer, null – The element’s field layout ID |
| fieldParamNamespace | array – The namespace used by custom field params on the request |
| fieldValues | array – The element’s normalized custom field values, indexed by their handles |
| firstErrors | array – The first errors. |
| firstSave | boolean – Whether the element is being saved for the first time in a normal state (not as a draft or revision). |
| forceSave | boolean – Whether the element should definitely be saved, if it’s a nested element being considered for saving by \craft\base\NestedElementManager. |
| freeShipping | boolean |
| gqlTypeName | string |
| hardDelete | boolean – Whether the element is being hard-deleted. |
| hasDescendants | boolean – Whether the element has descendants |
| hasUnlimitedStock | |
| height | float, null |
| htmlAttributes | array – Any attributes that should be included in the element’s DOM representation in the control panel |
| id | integer, null – The element’s ID |
| invalidNestedElementIds | integer[] |
| inventoryItem | craft\commerce\models\InventoryItem |
| inventoryItemId | integer |
| inventoryLevels | \Illuminate\Support\Collection<\craft\commerce\models\InventoryLevel> |
| inventoryTracked | boolean |
| isAvailable | boolean – whether the purchasable is currently available for purchase |
| isCanonical | boolean – Whether this is the canonical element |
| isCrossSiteCopyable | boolean |
| isDerivative | boolean – Whether this is a derivative element, such as a draft or revision |
| isDraft | boolean |
| isFresh | boolean |
| isHomepage | boolean |
| isNewForSite | boolean – Whether the element is being saved to the current site for the first time. |
| isNewSite | boolean – Whether this is for a newly-created site. |
| isOutOfStockPurchasingAllowed | boolean |
| isPromotable | |
| isProvisionalDraft | boolean – Whether this is a provisional draft. |
| isRevision | boolean |
| isShippable | boolean |
| isSlugTranslatable | boolean |
| isTaxable | boolean |
| isTitleTranslatable | boolean |
| isUnpublishedDraft | boolean |
| iterator | ArrayIterator – An iterator for traversing the items in the list. |
| language | string |
| lazyEagerLoadedElements | string – The handle that was used to eager-load the elements |
| length | float, null |
| level | integer, null – The element’s level within its structure |
| lft | integer, null – The element’s left position within its structure |
| link | \Twig\Markup, null – An anchor pre-filled with this element’s URL and title |
| localized | craft\elements\db\ElementQueryInterface, craft\elements\ElementCollection |
| maxQty | integer, null |
| mergingCanonicalChanges | boolean – Whether recent changes to the canonical element are being merged into this element. |
| metadata | array – The data, with keys representing the labels. |
| minQty | integer, null |
| modifiedAttributes | string[] |
| modifiedFields | string[] |
| newSiteIds | integer[] – The site IDs that the element was just propagated to for the first time. |
| next | craft\base\ElementInterface, null – The next element relative to this one, from a given set of criteria |
| nextSibling | craft\base\ElementInterface, null – The element’s next sibling |
| onPromotion | boolean – whether this purchasable is currently on sale at a promotional price |
| onSale | boolean |
| outdatedAttributes | string[] |
| outdatedFields | string[] |
| parent | craft\base\ElementInterface, null – The element’s parent |
| parentId | integer, null – The element’s parent’s ID |
| parentUri | string, null |
| postEditUrl | string, null |
| prev | craft\base\ElementInterface, null – The previous element relative to this one, from a given set of criteria |
| prevSibling | craft\base\ElementInterface, null – The element’s previous sibling |
| previewTargets | array |
| previewing | boolean – Whether the element is currently being previewed. |
| price | |
| priceAsCurrency | string – the price |
| promotable | boolean |
| promotionRelationSource | float – The source for any promotion category relation |
| promotionalPrice | float, null |
| propagateAll | boolean – Whether all element attributes should be propagated across all its supported sites, even if that means overwriting existing site-specific values. |
| propagating | boolean – Whether the element is being saved in the context of propagating another site's version of the element. |
| propagatingFrom | craft\base\ElementInterface, null – The element that this element is being propagated from. |
| ref | string, null – The reference string to this element |
| resaving | boolean – Whether the element is being resaved by a ResaveElement job or a resave console command. |
| revisionId | integer, null – The ID of the revision’s row in the revisions table |
| rgt | integer, null – The element’s right position within its structure |
| root | integer, null – The element’s structure’s root ID |
| rootOwner | self |
| route | mixed – The route that should be used when the element’s URI is requested |
| salePrice | float – the base price the item will be added to the line item with |
| salePriceAsCurrency | string – the base price the item will be added to the line item with |
| sales | craft\commerce\models\Sale[] – sales models which are currently affecting the price of this purchasable |
| scenario | string – The scenario that this model is in. |
| searchScore | integer, null – The element’s search score, if the craft\elements\db\ElementQuery::search() parameter was used when querying for the element |
| serializedFieldValues | array – Array of the element’s serialized custom field values, indexed by their handles |
| serializedFieldValuesForDb | array |
| shippingCategory | |
| shippingCategoryId | integer – the purchasable's shipping category ID |
| siblings | craft\elements\db\ElementQueryInterface – All of the element’s siblings |
| site | craft\models\Site – Site the element is associated with |
| siteId | integer, null – The site ID the element is associated with |
| siteSettingsId | integer, null – The ID of the element’s record in the elements_sites table |
| sku | string – a unique code as per the commerce_purchasables table |
| skuAsText | |
| slug | string, null – The element’s slug |
| slugTranslationDescription | string, null |
| slugTranslationKey | string – The translation key |
| snapshot | array |
| sourceId | integer, null |
| sourceUid | string |
| status | string, null – The element’s status |
| stock | integer |
| store | craft\commerce\models\Store |
| storeId | integer |
| structureId | integer, null – The element’s structure ID |
| supportedSites | integer[], array – The sites this element is associated with |
| taxCategory | |
| taxCategoryId | integer – the purchasable's tax category ID |
| tempId | string, null – The element’s temporary ID (only used if the element’s URI format contains {id}) |
| title | string, null – The element’s title |
| titleTranslationDescription | string, null |
| titleTranslationKey | string – The translation key |
| totalDescendants | integer – The total number of descendants that the element has |
| trashed | boolean – Whether the element has been soft-deleted. |
| uiLabel | |
| uiLabelPath | string[] |
| uid | string, null – The element’s UID |
| updatingFromDerivative | boolean – Whether the element is being updated from a derivative element, such as a draft or revision. |
| uri | string, null – The element’s URI |
| uriFormat | string, null – The URI format used to generate this element’s URL |
| url | string, null – The element’s full URL |
| validators | ArrayObject, yii\validators\Validator – All the validators declared in the model. |
| viewMode | string, null – The view mode used to show this element (e.g. structure, table, thumbs, cards). |
| weight | float, null |
| width | float, null |
isPromotable
- Default value
true
price
- Default value
25.1
Protected Properties
| Property | Description |
|---|---|
| revisionCreatorId | integer, null – Revision creator ID to be saved |
| revisionNotes | string, null – Revision notes to be saved |
Public Methods
| Method | Description |
|---|---|
| __call() | Calls the named method which is not a class method. |
| __clone() | |
| __construct() | |
| __get() | Returns the value of a component property. |
| __isset() | Checks if a property is set. |
| __set() | Sets the value of a component property. |
| __toString() | Returns the string representation of the element. |
| __unset() | Sets a component property to be null. |
| actions() | Returns the available bulk element actions for a given source. |
| 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. |
| addInvalidNestedElementIds() | Registers invalid nested element IDs with the element, so an error class can be added on their cards. |
| addModelErrors() | Adds errors from another model, with a given attribute name prefix. |
| afterDelete() | Clean up purchasable table |
| afterDeleteForSite() | Performs actions after an element is deleted for a site. |
| afterMoveInStructure() | 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() | Performs actions after an element is fully saved and propagated to other sites. |
| afterRestore() | Performs actions after an element is restored. |
| afterSave() | Update purchasable table |
| 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. |
| attributePreviewHtml() | Return HTML for the attribute in the card preview. |
| attributes() | Returns the list of attribute names. |
| baseBulkDuplicateAttributes() | Returns the base attributes that should be applied when bulk-duplicating elements of this type. |
| baseGqlType() | Returns the base GraphQL type name that represents elements of this type. |
| beforeDelete() | Performs actions before an element is deleted. |
| beforeDeleteForSite() | Performs actions before an element is deleted for a site. |
| beforeMoveInStructure() | Performs actions before an element is moved within a structure. |
| beforeRestore() | Performs actions before an element is restored. |
| beforeSave() | Performs actions before an element is saved. |
| beforeValidate() | This method is invoked before validation starts. |
| behaviors() | Returns a list of behaviors that this component should behave as. |
| canCopy() | Returns whether the given user is authorized to copy this element, to be duplicated elsewhere. |
| canCreateDrafts() | Returns whether the given user is authorized to create drafts for this element. |
| canDelete() | Returns whether the given user is authorized to delete this element. |
| canDeleteForSite() | Returns whether the given user is authorized to delete this element for its current site. |
| canDuplicate() | Returns whether the given user is authorized to duplicate this element. |
| canDuplicateAsDraft() | Returns whether the given user is authorized to duplicate this element as an unpublished draft. |
| canGetProperty() | Returns a value indicating whether a property can be read. |
| canSave() | Returns whether the given user is authorized to save this element in its current form. |
| canSetProperty() | Returns a value indicating whether a property can be set. |
| canView() | Returns whether the given user is authorized to view this element’s edit page. |
| cardAttributes() | Defines all the available attributes that can be shown in card views. |
| className() | Returns the fully qualified name of this class. |
| clearErrors() | Removes errors for all attributes or a single attribute. |
| createAnother() | Creates a new element (without saving it) based on this one. |
| createCondition() | Returns an element condition for the element type. |
| createValidators() | Creates validator objects based on the validation rules specified in rules(). |
| currencyAttributes() | |
| datetimeAttributes() | Returns the names of any attributes that should hold DateTime values. |
| defaultCardAttributes() | Returns the list of card attribute keys that should be shown by default, if the field layout hasn't been customised. |
| defaultTableAttributes() | Returns the list of table attribute keys that should be shown by default. |
| detachBehavior() | Detaches a behavior from the component. |
| detachBehaviors() | Detaches all behaviors from the component. |
| displayName() | Returns the display name of this class. |
| eagerLoadingMap() | Returns an array that maps source-to-target element IDs based on the given sub-property handle. |
| ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. |
| exporters() | Returns the available export options for a given source. |
| extraFields() | Returns the list of fields that can be expanded further and returned by toArray(). |
| fieldLayouts() | Returns all the field layouts associated with elements from the given source. |
| fields() | Returns the list of fields that should be returned by default by toArray() when no specific fields are specified. |
| find() | Creates an craft\elements\db\ElementQueryInterface instance for query purpose. |
| findAll() | Returns a list of elements that match the specified ID(s) or a set of element criteria parameters. |
| findOne() | Returns a single element instance by a primary key or a set of element criteria parameters. |
| findSource() | Returns a source definition by a given source key/path and context. |
| formName() | Returns the form name that this model class should use. |
| generateAttributeLabel() | Generates a user friendly attribute label based on the give attribute name. |
| get() | |
| getActionMenuItems() | |
| getActiveValidators() | Returns the validators applicable to the current scenario. |
| getAdditionalButtons() | Returns additional buttons that should be shown at the top of the element’s edit page. |
| getAltActions() | Returns alternative form actions for the element. |
| getAncestors() | Returns the element’s ancestors. |
| getAttributeHint() | Returns the text hint for the specified attribute. |
| getAttributeHtml() | Returns the HTML that should be shown for a given attribute in table and card views. |
| getAttributeLabel() | Returns the text label for the specified attribute. |
| getAttributeStatus() | Returns the status of a given attribute. |
| getAttributes() | Returns attribute values. |
| getBasePrice() | |
| getBasePromotionalPrice() | |
| getBehavior() | Returns the named behavior object. |
| getBehaviors() | Returns all behaviors attached to this component. |
| getCacheTags() | Returns the cache tags that should be cleared when this element is saved. |
| getCanonical() | Returns the canonical version of the element. |
| getCanonicalId() | Returns the element’s canonical ID. |
| getCanonicalUid() | Returns the element’s canonical UUID. |
| getCardBodyHtml() | Returns the body HTML for element cards. |
| getCardTitle() | Returns the titlebar label for element cards. |
| getCatalogPricingRule() | |
| getChildren() | Returns the element’s children. |
| getChipLabelHtml() | Returns the label HTML for element chips. |
| getCpEditUrl() | |
| getCpRevisionsUrl() | Returns the element’s revisions index URL in the control panel. |
| getCrumbs() | Returns the breadcrumbs that lead up to the element. |
| getCurrentRevision() | Returns the element’s current revision, if one exists. |
| getDescendants() | Returns the element’s descendants. |
| getDescription() | Returns your element's title or any additional descriptive information. |
| getDirtyAttributes() | Returns a list of attribute names that have changed since the element was first loaded. |
| getDirtyFields() | Returns a list of custom field handles that have changed since the element was first loaded. |
| getEagerLoadedElementCount() | Returns the count of eager-loaded elements for a given handle. |
| getEagerLoadedElements() | Returns the eager-loaded elements for a given handle. |
| getEnabledForSite() | Returns whether the element is enabled for the current site. |
| getErrorSummary() | Returns the errors for all attributes as a one-dimensional array. |
| getErrors() | Returns the errors for all attributes or a single attribute. |
| getFieldContext() | Returns the field context this element’s content uses. |
| getFieldLayout() | Returns the field layout used by this element. |
| getFieldParamNamespace() | Returns the namespace used by custom field params on the request. |
| getFieldValue() | Returns the value for a given field. |
| getFieldValues() | Returns the element’s normalized custom field values, indexed by their handles. |
| getFirstError() | Returns the first error of the specified attribute. |
| getFirstErrors() | Returns the first error of every attribute in the model. |
| getGqlTypeName() | Returns the GraphQL type name for this element type. |
| getHasDescendants() | Returns whether the element has descendants. |
| getHasUnlimitedStock() | |
| getHtmlAttributes() | Returns any attributes that should be included in the element’s chips and cards. |
| getId() | |
| getInlineAttributeInputHtml() | Returns the HTML that should be shown for a given attribute's inline editing input. |
| getInvalidNestedElementIds() | Returns the element’s invalid nested element IDs. |
| getInventoryItem() | |
| getInventoryLevels() | Returns the total stock across all locations this purchasable is tracked in. |
| getIsAvailable() | Returns whether the purchasable is currently available for purchase. |
| getIsCanonical() | Returns whether this is the canonical element. |
| getIsCrossSiteCopyable() | Return if the element is copyable between sites. |
| getIsDerivative() | Returns whether this is a derivative element, such as a draft or revision. |
| getIsDraft() | Returns whether this is a draft. |
| getIsFresh() | Returns whether the element is "fresh" (not yet explicitly saved, and without validation errors). |
| getIsHomepage() | Returns whether this element represents the site homepage. |
| getIsOutOfStockPurchasingAllowed() | |
| getIsPromotable() | |
| getIsRevision() | Returns whether this is a revision. |
| getIsShippable() | |
| getIsSlugTranslatable() | Returns whether the Slug field should be shown as translatable in the UI. |
| getIsTaxable() | Returns whether this purchasable is exempt from taxes. |
| getIsTitleTranslatable() | Returns whether the Title field should be shown as translatable in the UI. |
| getIsUnpublishedDraft() | Returns whether the element is an unpublished draft. |
| getIterator() | Returns an iterator for traversing the attributes in the model. |
| getLanguage() | Returns the language of the element. |
| getLineItemRules() | Returns any validation rules this purchasable required the line item to have. |
| getLink() | Returns an anchor pre-filled with this element’s URL and title. |
| getLocalized() | Returns the same element in other locales. |
| getMetadata() | Returns element metadata that should be shown within the editor sidebar. |
| getModifiedAttributes() | Returns the attribute names that have changed for this element. |
| getModifiedFields() | Returns the field handles that have changed for this element. |
| getNext() | Returns the next element relative to this one, from a given set of criteria. |
| getNextSibling() | Returns the element’s next sibling. |
| getOnPromotion() | |
| getOnSale() | |
| getOutdatedAttributes() | Returns the attribute names that have been updated on the canonical element since the last time it was merged into this element. |
| getOutdatedFields() | Returns the field handles that have been updated on the canonical element since the last time it was merged into this element. |
| getParent() | Returns the element’s parent. |
| getParentId() | Returns the parent ID. |
| getParentUri() | Returns the parent element’s URI, if there is one. |
| getPostEditUrl() | Returns the URL that users should be redirected to after editing the element. |
| getPrev() | Returns the previous element relative to this one, from a given set of criteria. |
| getPrevSibling() | Returns the element’s previous sibling. |
| getPreviewTargets() | Returns the additional locations that should be available for previewing the element, besides its primary URL. |
| getPrice() | |
| getPromotionRelationSource() | Returns the source param used for knowing if a promotion category is related to this purchasable. |
| getPromotionalPrice() | |
| getRef() | Returns the reference string to this element. |
| getRootOwner() | Returns the root owner element. |
| getRoute() | Returns the route that should be used when the element’s URI is requested. |
| getSalePrice() | Returns the actual price the purchasable will be sold for. |
| getSales() | |
| getScenario() | Returns the scenario that this model is used in. |
| getSearchKeywords() | Returns the search keywords for a given search attribute. |
| getSerializedFieldValues() | Returns an array of the element’s serialized custom field values, indexed by their handles. |
| getSerializedFieldValuesForDb() | Returns an array of the element’s serialized custom field values, indexed by their handles, for database storage. |
| getShippingCategory() | Returns the purchasable's shipping category. |
| getShippingCategoryId() | |
| getSiblings() | Returns all of the element’s siblings. |
| getSidebarHtml() | Returns the HTML for any fields/info that should be shown within the editor sidebar. |
| getSite() | Returns the site the element is associated with. |
| getSku() | |
| getSkuAsText() | Returns the SKU as text but returns a blank string if it’s a temp SKU. |
| getSlugTranslationDescription() | Returns the description of the Slug field’s translation support. |
| getSlugTranslationKey() | Returns the Slug’s translation key. |
| 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() | Returns the element’s canonical ID. |
| getSourceUid() | Returns the element’s canonical UID. |
| getStatus() | |
| getStock() | Returns the cached total available stock across all inventory locations for this store. |
| getStore() | Returns the store for the current instance of the purchasable. |
| getStoreId() | |
| getSupportedSites() | Returns the sites this element is associated with. |
| getTaxCategory() | Returns the purchasable's tax category. |
| getTaxCategoryId() | |
| getThumbHtml() | |
| getTitleTranslationDescription() | Returns the description of the Title field’s translation support. |
| getTitleTranslationKey() | Returns the Title’s translation key. |
| getTotalDescendants() | Returns the total number of descendants that the element has. |
| getUiLabel() | |
| getUiLabelPath() | Returns any path segment labels that should be prepended to the element’s UI label. |
| getUriFormat() | Returns the URI format used to generate this element’s URI. |
| getUrl() | Returns the element’s full URL. |
| getValidators() | Returns all the validators declared in rules(). |
| gqlScopesByContext() | Returns the GraphQL scopes required by element’s context. |
| hasDrafts() | Returns whether element indexes should show the “Drafts” status option. |
| hasEagerLoadedElements() | Returns whether elements have been eager-loaded with a given handle. |
| 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. |
| hasFreeShipping() | Returns whether this purchasable has free shipping. |
| hasInventory() | |
| hasMethod() | Returns a value indicating whether a method is defined. |
| hasProperty() | Returns a value indicating whether a property is defined for this component. |
| hasRevisions() | Returns whether revisions should be created when this element is saved. |
| hasStatuses() | Returns whether elements of this type have statuses. |
| hasStock() | Returns whether this variant has stock. |
| hasThumbs() | Returns whether element indexes should include a thumbnail view by default. |
| hasTitles() | Returns whether elements of this type have traditional titles. |
| hasUris() | Returns whether elements of this type can have their own slugs and URIs. |
| indexElementCount() | Returns the total number of elements that will be shown on an element index, for the given element query. |
| indexHtml() | Returns the element index HTML. |
| indexViewModes() | Returns the view modes available for the element type. |
| init() | Initializes the object. |
| instance() | Returns static class instance, which can be used to obtain meta information. |
| isAncestorOf() | Returns whether this element is an ancestor of another one. |
| isAttributeActive() | Returns a value indicating whether the attribute is active in the current scenario. |
| isAttributeDirty() | Returns whether an attribute has changed since the element was first loaded. |
| isAttributeModified() | Returns whether an attribute value has changed for this element. |
| isAttributeOutdated() | Returns whether an attribute value has fallen behind the canonical element’s value. |
| isAttributeRequired() | Returns a value indicating whether the attribute is required. |
| isAttributeSafe() | Returns a value indicating whether the attribute is safe for massive assignments. |
| isChildOf() | Returns whether this element is a direct child of another one. |
| isDescendantOf() | Returns whether this element is a descendant of another one. |
| isFieldDirty() | Returns whether a custom field value has changed since the element was first loaded. |
| isFieldEmpty() | Returns whether a field is empty. |
| isFieldModified() | Returns whether a field value has changed for this element. |
| isFieldOutdated() | Returns whether a field value has fallen behind the canonical element’s value. |
| isLocalized() | Returns whether elements of this type store content on a per-site basis. |
| isNextSiblingOf() | Returns whether this element is the direct next sibling of another one. |
| isParentOf() | Returns whether this element is a direct parent of another one. |
| isPrevSiblingOf() | Returns whether this element is the direct previous sibling of another one. |
| isSelectable() | Returns whether the component should be selectable in component Type selects. |
| isSiblingOf() | Returns whether this element is a sibling of another one. |
| load() | Populates the model with input data. |
| loadMultiple() | Populates a set of models with the data from end user. |
| lowerDisplayName() | Returns the lowercase version of displayName(). |
| markAsClean() | Resets the record of dirty attributes and fields. |
| markAsDirty() | Marks all fields and attributes as dirty. |
| mergeCanonicalChanges() | Merges changes from the canonical element into this one. |
| modifyCustomSource() | Modifies a custom source’s config, before it’s returned by craft\services\ElementSources::getSources() |
| 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. |
| pluralDisplayName() | Returns the plural version of displayName(). |
| pluralLowerDisplayName() | Returns the plural, lowercase version of displayName(). |
| 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. |
| prepareEditScreen() | Prepares the response for the element’s Edit screen. |
| refHandle() | Returns the handle that should be used to refer to this element type from reference tags. |
| relatedSales() | |
| render() | Renders the element using its partial template. |
| 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. |
| searchableAttributes() | Defines which element attributes should be searchable. |
| setAttributes() | Sets the attribute values in a massive way. |
| setAttributesFromRequest() | Sets the element’s attributes from an element editor submission. |
| setBasePrice() | |
| setBasePromotionalPrice() | |
| setCanonical() | Sets the canonical version of the element. |
| setCanonicalId() | Sets the element’s canonical ID. |
| setDirtyAttributes() | Sets the list of dirty attribute names. |
| setDirtyFields() | Sets the list of dirty field handles. |
| setEagerLoadedElementCount() | Sets the count of eager-loaded elements for a given handle. |
| setEagerLoadedElements() | Sets some eager-loaded elements on a given handle. |
| setEnabledForSite() | Sets whether the element is enabled for the current site. |
| setFieldParamNamespace() | Sets the namespace used by custom field params on the request. |
| setFieldValue() | Sets the value for a given field. |
| setFieldValueFromRequest() | Sets the value for a given field. The value should have originated from post data. |
| setFieldValues() | Sets the element’s custom field values. |
| setFieldValuesFromRequest() | Sets the element’s custom field values, when the values have come from post data. |
| setHasUnlimitedStock() | |
| setIsFresh() | Sets whether the element is "fresh" (not yet explicitly saved, and without validation errors). |
| setLazyEagerLoadedElements() | Sets whether the given eager-loaded element handles were eager-loaded lazily. |
| setNext() | Sets the default next element. |
| setParent() | Sets the element’s parent. |
| setParentId() | Sets the parent ID. |
| setPrev() | Sets the default previous element. |
| setPrice() | |
| setPromotionalPrice() | |
| setRevisionCreatorId() | Sets the revision creator ID to be saved. |
| setRevisionNotes() | Sets the revision notes to be saved. |
| setScenario() | Sets the scenario for the model. |
| setShippingCategoryId() | |
| setSku() | |
| setTaxCategoryId() | |
| setUiLabel() | Defines what the element should be called within the control panel. |
| setUiLabelPath() | Defines any path segment labels that should be prepended to the element’s UI label. |
| showStatusIndicator() | Returns whether chips and cards for this element should include a status indicator. |
| sortOptions() | Returns the sort options for the element type. |
| sourcePath() | Returns the source path for a given source key, step key, and context. |
| sources() | Returns the source definitions that elements of this type may belong to. |
| statuses() | |
| tableAttributes() | Defines all of the available columns that can be shown in table views. |
| toArray() | Converts the model into an array. |
| trackChanges() | 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() | Triggers an event. |
| validate() | Performs the data validation. |
| validateCustomFieldAttribute() | Calls a custom validation function on a custom field. |
| validateMultiple() | Validates multiple models. |
getIsPromotable()
getPrice()
Arguments
$store
getSku()
Protected Methods
| Method | Description |
|---|---|
| ancestors() | Returns an element query for fetching the element’s ancestors. |
| attributeHtml() | Returns the HTML that should be shown for a given attribute in table and card views. |
| availableShippingCategories() | |
| availableTaxCategories() | |
| cacheTags() | Returns the cache tags that should be cleared when this element is saved. |
| couldHaveAnimatedThumb() | Returns whether the element’s thumbnail is potentially animated. |
| cpEditUrl() | Returns the element’s edit URL in the control panel. |
| cpRevisionsUrl() | Returns the element’s revisions index URL in the control panel. |
| crumbs() | Returns the breadcrumbs that lead up to the element. |
| defineActions() | Defines the available bulk element actions for a given source. |
| defineBehaviors() | Returns the behaviors to attach to this class. |
| defineCardAttributes() | Defines all the available attributes that can be shown in card views along with their default placeholder values. |
| defineDefaultCardAttributes() | Returns the list of card attribute keys that should be shown by default. |
| defineDefaultTableAttributes() | Returns the list of table attribute keys that should be shown by default. |
| defineExporters() | Defines the available element exporters for a given source. |
| defineFieldLayouts() | Defines the field layouts associated with elements for a given source. |
| defineRules() | Returns the validation rules for attributes. |
| defineSearchableAttributes() | Defines which element attributes should be searchable. |
| defineSortOptions() | Returns the sort options for the element type. |
| defineSources() | Defines the sources that elements of this type may belong to. |
| defineTableAttributes() | Defines all of the available columns that can be shown in table views. |
| descendants() | Returns an element query for fetching the element’s descendants. |
| destructiveActionMenuItems() | Returns destructive action menu items for the element’s edit screens. |
| 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. |
| fieldByHandle() | Returns the field with a given handle. |
| fieldLayoutFields() | Returns each of this element’s fields. |
| findByCondition() | Finds Element instance(s) by the given condition. |
| hasCheckeredThumb() | Returns whether the element’s thumbnail should have a checkered background. |
| hasFieldLayout() | Returns whether the element has a field layout with at least one tab. |
| hasNewParent() | Returns whether the element has been assigned a new parent. |
| hasRoundedThumb() | Returns whether the element’s thumbnail should be rounded. |
| htmlAttributes() | Returns any attributes that should be included in the element’s chips and cards. |
| includeSetStatusAction() | Returns whether the Set Status action should be included in actions() automatically. |
| indexElements() | Returns the resulting elements for an element index. |
| inlineAttributeInputHtml() | Returns the HTML that should be shown for a given attribute’s inline input. |
| metaFieldsHtml() | Returns the HTML for any meta fields that should be shown within the editor sidebar. |
| metadata() | Returns element metadata that should be shown within the editor sidebar. |
| normalizeFieldValue() | Normalizes a field’s value. |
| notesFieldHtml() | Returns the notes field HTML for the sidebar. |
| prepElementQueryForTableAttribute() | Prepares an element query for an element index that includes a given table attribute. |
| previewTargets() | Returns the additional locations that should be available for previewing the element, besides its primary URL. |
| resolveFields() | Determines which fields can be returned by toArray(). |
| route() | Returns the route that should be used when the element’s URI is requested. |
| safeActionMenuItems() | Returns action menu items for the element’s edit screens. |
| searchKeywords() | Returns the search keywords for a given search attribute. |
| shippingCategoryFieldHtml() | |
| shouldValidateTitle() | Returns whether the element’s title attribute should be validated |
| showStatusField() | Returns whether the Status field should be shown for this element. |
| slugFieldHtml() | Returns the HTML for the element’s Slug field. |
| statusFieldHtml() | Returns the status field HTML for the sidebar. |
| taxCategoryFieldHtml() | |
| thumbAlt() | Returns alt text for the element’s thumbnail. |
| thumbSvg() | Returns the element’s thumbnail SVG contents, which should be used as a fallback when \craft\base\getThumbUrl() returns null. |
| thumbUrl() | Returns the URL to the element’s thumbnail, if it has one. |
| uiLabel() | Returns what the element should be called within the control panel. |
Constants
| Constant | Description |
|---|---|
HOMEPAGE_URI | |
SCENARIO_DEFAULT | The name of the default scenario. |
SCENARIO_ESSENTIALS | |
SCENARIO_LIVE | |
STATUS_ARCHIVED | |
STATUS_DISABLED | |
STATUS_DRAFT | |
STATUS_ENABLED |