Matrix ​
- Type
- Class
- Namespace
- craft\services
- Inherits
- craft\services\Matrix » yii\base\Component » yii\base\BaseObject
- Implements
- yii\base\Configurable
- Since
- 3.0.0
The Matrix service provides APIs for managing Matrix fields.
An instance of the service is available via Craft::$app->matrix
.
Public Properties ​
Property | Description |
---|---|
allBlockTypes | craft\models\MatrixBlockType[] – An array of block types. |
behaviors | yii\base\Behavior – List of behaviors attached to this component. |
allBlockTypes
​
- Type
- craft\models\MatrixBlockType[]
- Default value
null
- Access
- Read-only
- Since
- 3.3.0
An array of block types.
Public Methods ​
Method | Description |
---|---|
__call() | Calls the named method which is not a class method. |
__clone() | This method is called after the object is created by cloning an existing one. |
__construct() | Constructor. |
__get() | Returns the value of a component property. |
__isset() | Checks if a property is set, i.e. defined and not null. |
__set() | Sets the value of a component property. |
__unset() | Sets a component property to be null. |
attachBehavior() | Attaches a behavior to this component. |
attachBehaviors() | Attaches a list of behaviors to the component. |
behaviors() | Returns a list of behaviors that this component should behave as. |
canGetProperty() | Returns a value indicating whether a property can be read. |
canSetProperty() | Returns a value indicating whether a property can be set. |
className() | Returns the fully qualified name of this class. |
createRevisionBlocks() | Creates revisions for all the blocks that belong to the given canonical element, and assigns those revisions to the given owner revision. |
defineContentTableName() | Defines a new Matrix content table name. |
deleteBlockType() | Deletes a block type. |
deleteMatrixField() | Deletes a Matrix field. |
detachBehavior() | Detaches a behavior from the component. |
detachBehaviors() | Detaches all behaviors from the component. |
duplicateBlocks() | Duplicates Matrix blocks from one owner element to another. |
duplicateOwnership() | Duplicates block ownership relations for a new draft element. |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. |
getAllBlockTypes() | Returns all the block types. |
getBehavior() | Returns the named behavior object. |
getBehaviors() | Returns all behaviors attached to this component. |
getBlockById() | Returns a block by its ID. |
getBlockTypeById() | Returns a block type by its ID. |
getBlockTypesByFieldId() | Returns the block types for a given Matrix field. |
getSupportedSiteIds() | Returns the site IDs that are supported by Matrix blocks for the given propagation method and owner element. |
handleChangedBlockType() | Handle block type change |
handleDeletedBlockType() | Handle block type change |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. |
hasMethod() | Returns a value indicating whether a method is defined. |
hasProperty() | Returns a value indicating whether a property is defined for this component. |
init() | Initializes the object. |
mergeCanonicalChanges() | Merges recent canonical Matrix block changes into the given Matrix field’s blocks. |
off() | Detaches an existing event handler from this component. |
on() | Attaches an event handler to an event. |
saveBlockType() | Saves a block type. |
saveField() | Saves a Matrix field. |
saveSettings() | Saves a Matrix field's settings. |
trigger() | Triggers an event. |
validateBlockType() | Validates a block type. |
validateFieldSettings() | Validates a Matrix field's settings. |
createRevisionBlocks()
​
- Since
- 4.0.0
Creates revisions for all the blocks that belong to the given canonical element, and assigns those revisions to the given owner revision.
Arguments ​
$field
(craft\fields\Matrix) – The Matrix field$canonical
(craft\base\ElementInterface) – The canonical element$revision
(craft\base\ElementInterface) – The revision element
defineContentTableName()
​
- Since
- 3.0.23
Defines a new Matrix content table name.
Arguments ​
$field
(craft\fields\Matrix)
Returns ​
deleteBlockType()
​
Deletes a block type.
Arguments ​
$blockType
(craft\models\MatrixBlockType) – The block type.
Returns ​
boolean – Whether the block type was deleted successfully.
deleteMatrixField()
​
Deletes a Matrix field.
Arguments ​
$matrixField
(craft\fields\Matrix) – The Matrix field.
Returns ​
boolean – Whether the field was deleted successfully.
Throws ​
duplicateBlocks()
​
- Since
- 3.2.0
Duplicates Matrix blocks from one owner element to another.
Arguments ​
$field
(craft\fields\Matrix) – The Matrix field to duplicate blocks for$source
(craft\base\ElementInterface) – The source element blocks should be duplicated from$target
(craft\base\ElementInterface) – The target element blocks should be duplicated to$checkOtherSites
(boolean) – Whether to duplicate blocks for the source element’s other supported sites$deleteOtherBlocks
(boolean) – Whether to delete any blocks that belong to the element, which weren’t included in the duplication$trackDuplications
(boolean) – Whether to keep track of the duplications from craft\services\Elements::$duplicatedElementIds and craft\services\Elements::$duplicatedElementSourceIds$force
(boolean) – Whether to force duplication, even if it looks like only the block ownership was duplicated
Throws ​
- Throwable
if reasons
duplicateOwnership()
​
- Since
- 4.0.0
Duplicates block ownership relations for a new draft element.
Arguments ​
$field
(craft\fields\Matrix) – The Matrix field$canonical
(craft\base\ElementInterface) – The canonical element$draft
(craft\base\ElementInterface) – The draft element
getAllBlockTypes()
​
- Since
- 3.3.0
Returns all the block types.
Returns ​
craft\models\MatrixBlockType[] – An array of block types.
getBlockById()
​
Returns a block by its ID.
Arguments ​
$blockId
(integer) – The Matrix block’s ID.$siteId
(integer, null) – The site ID to return. Defaults to the current site.
Returns ​
craft\elements\MatrixBlock, null – The Matrix block, or null
if it didn’t exist.
getBlockTypeById()
​
Returns a block type by its ID.
Arguments ​
$blockTypeId
(integer) – The block type ID.
Returns ​
craft\models\MatrixBlockType, null – The block type, or null
if it didn’t exist.
getBlockTypesByFieldId()
​
Returns the block types for a given Matrix field.
Arguments ​
$fieldId
(integer) – The Matrix field ID.
Returns ​
craft\models\MatrixBlockType[] – An array of block types.
getSupportedSiteIds()
​
- Since
- 3.3.18
Returns the site IDs that are supported by Matrix blocks for the given propagation method and owner element.
Arguments ​
$propagationMethod
(string)$owner
(craft\base\ElementInterface)$propagationKeyFormat
(string, null)
Returns ​
integer[]
handleChangedBlockType()
​
Handle block type change
Arguments ​
$event
(craft\events\ConfigEvent)
handleDeletedBlockType()
​
Handle block type change
Arguments ​
$event
(craft\events\ConfigEvent)
Throws ​
- Throwable
if reasons
mergeCanonicalChanges()
​
- Since
- 3.7.0
Merges recent canonical Matrix block changes into the given Matrix field’s blocks.
Arguments ​
$field
(craft\fields\Matrix) – The Matrix field$owner
(craft\base\ElementInterface) – The element the field is associated with
saveBlockType()
​
Saves a block type.
Arguments ​
$blockType
(craft\models\MatrixBlockType) – The block type to be saved.$runValidation
(boolean) – Whether the block type should be validated before being saved. Defaults totrue
.
Returns ​
Throws ​
- yii\base\Exception
if an error occurs when saving the block type - Throwable
if reasons
saveField()
​
Saves a Matrix field.
Arguments ​
$field
(craft\fields\Matrix) – The Matrix field$owner
(craft\base\ElementInterface) – The element the field is associated with
Throws ​
- Throwable
if reasons
saveSettings()
​
Saves a Matrix field's settings.
Arguments ​
$matrixField
(craft\fields\Matrix) – The Matrix field$validate
(boolean) – Whether the settings should be validated before being saved.
Returns ​
boolean – Whether the settings saved successfully.
Throws ​
- Throwable
if reasons
validateBlockType()
​
Validates a block type.
If the block type doesn’t validate, any validation errors will be stored on the block type.
Arguments ​
$blockType
(craft\models\MatrixBlockType) – The block type.
Returns ​
boolean – Whether the block type validated.
validateFieldSettings()
​
Validates a Matrix field's settings.
If the settings don’t validate, any validation errors will be stored on the settings model.
Arguments ​
$matrixField
(craft\fields\Matrix) – The Matrix field
Returns ​
boolean – Whether the settings validated.