Skip to content

Structures ​

Type
Class
Namespace
craft\services
Inherits
craft\services\Structures » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.0.0

Structures service.

An instance of the service is available via Craft::$app->structures.

View source

Public Properties ​

PropertyDescription
behaviorsyii\base\Behavior – List of behaviors attached to this component.
mutexTimeoutinteger – The timeout to pass to yii\mutex\Mutex::acquire() when acquiring a lock on the structure.

mutexTimeout ​

Type
integer
Default value
3
Since
3.0.19

The timeout to pass to yii\mutex\Mutex::acquire() when acquiring a lock on the structure.

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()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.
append()Appends an element to another within a given structure.
appendToRoot()Appends an element to the root of a given structure.
applyBranchLimitToElements()Filters an array of elements down to only <= X branches.
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.
deleteStructureById()Deletes a structure by its ID.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
fillGapsInElements()Patches an array of entries, filling in any gaps in the tree.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getElementLevelDelta()Returns the descendant level delta for a given element.
getStructureById()Returns a structure by its ID.
getStructureByUid()Returns a structure by its UID.
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.
moveAfter()Moves an element after another within a given structure.
moveBefore()Moves an element before another within a given structure.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
prepend()Prepends an element to another within a given structure.
prependToRoot()Prepends an element to the root of a given structure.
remove()Removes an element from a given structure.
saveStructure()Saves a structure
trigger()Triggers an event.

append() ​

Appends an element to another within a given structure.

View source

Arguments ​

Returns ​

boolean

Throws ​

appendToRoot() ​

Appends an element to the root of a given structure.

View source

Arguments ​

Returns ​

boolean

Throws ​

applyBranchLimitToElements() ​

Since
3.6.0

Filters an array of elements down to only <= X branches.

View source

Arguments ​

deleteStructureById() ​

Deletes a structure by its ID.

View source

Arguments ​

Returns ​

boolean

fillGapsInElements() ​

Since
3.6.0

Patches an array of entries, filling in any gaps in the tree.

View source

Arguments ​

getElementLevelDelta() ​

Returns the descendant level delta for a given element.

View source

Arguments ​

Returns ​

integer

getStructureById() ​

Returns a structure by its ID.

View source

Arguments ​

Returns ​

craft\models\Structure, null

getStructureByUid() ​

Returns a structure by its UID.

View source

Arguments ​

Returns ​

craft\models\Structure, null

moveAfter() ​

Moves an element after another within a given structure.

View source

Arguments ​

Returns ​

boolean

Throws ​

moveBefore() ​

Moves an element before another within a given structure.

View source

Arguments ​

Returns ​

boolean

Throws ​

prepend() ​

Prepends an element to another within a given structure.

View source

Arguments ​

Returns ​

boolean

Throws ​

prependToRoot() ​

Prepends an element to the root of a given structure.

View source

Arguments ​

Returns ​

boolean

Throws ​

remove() ​

Since
3.7.19

Removes an element from a given structure.

View source

Arguments ​

Returns ​

boolean

Throws ​

saveStructure() ​

Saves a structure

View source

Arguments ​

Returns ​

boolean – Whether the structure was saved successfully

Throws ​

Constants ​

ConstantDescription
ACTION_APPEND
ACTION_PLACE_AFTER
ACTION_PLACE_BEFORE
ACTION_PREPEND
MODE_AUTO
MODE_INSERT
MODE_UPDATE

Events ​

EVENT_AFTER_INSERT_ELEMENT ​

Type
craft\events\MoveElementEvent
Since
4.5.0

The event that is triggered after an element is inserted into a structure.


EVENT_AFTER_MOVE_ELEMENT ​

Type
craft\events\MoveElementEvent

The event that is triggered after an element is moved.


EVENT_BEFORE_INSERT_ELEMENT ​

Type
craft\events\MoveElementEvent
Since
4.5.0

The event that is triggered before an element is inserted into a structure.

You may set yii\base\ModelEvent::$isValid to false to prevent the element from getting inserted.


EVENT_BEFORE_MOVE_ELEMENT ​

Type
craft\events\MoveElementEvent

The event that is triggered before an element is moved.

In Craft 4.5 and later, you may set yii\base\ModelEvent::$isValid to false to prevent the element from getting moved.