Skip to content

ElementSources ​

Type
Class
Namespace
craft\services
Inherits
craft\services\ElementSources » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
4.0.0

The Element Sources service provides APIs for managing element indexes.

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

View source

Public Properties ​

PropertyDescription
behaviorsyii\base\Behavior – List of behaviors attached to this component.

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.
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.
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.
filterExtraHeadings()Filters out any unnecessary headings from a given source list.
getAvailableTableAttributes()Returns the common table attributes that are available for a given element type, across all its sources.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getFieldLayoutsForSource()Returns all the field layouts available for the given element source.
getSortOptionsForFieldLayouts()Returns additional sort options that should be available for an element index source that includes the given field layouts.
getSourceSortOptions()Returns additional sort options that should be available for a given element source.
getSourceTableAttributes()Returns any table attributes that should be available for a given source, in addition to the common attributes.
getSources()Returns the element index sources in the custom groupings/order.
getTableAttributes()Returns the attributes that should be shown for a given element type source.
getTableAttributesForFieldLayouts()Returns any table attributes that should be available for an element index source that includes the given field layouts.
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.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
trigger()Triggers an event.

filterExtraHeadings() ​

Filters out any unnecessary headings from a given source list.

View source

Arguments ​

Returns ​

array[]

getAvailableTableAttributes() ​

Returns the common table attributes that are available for a given element type, across all its sources.

View source

Arguments ​

  • $elementType (class-string<\craft\base\ElementInterface>) – The element type class

Returns ​

array[]

getFieldLayoutsForSource() ​

Returns all the field layouts available for the given element source.

View source

Arguments ​

  • $elementType (class-string<\craft\base\ElementInterface>)
  • $sourceKey (string)

Returns ​

craft\models\FieldLayout[]

getSortOptionsForFieldLayouts() ​

Since
5.0.0

Returns additional sort options that should be available for an element index source that includes the given field layouts.

View source

Arguments ​

Returns ​

array[]

getSourceSortOptions() ​

Returns additional sort options that should be available for a given element source.

View source

Arguments ​

  • $elementType (class-string<\craft\base\ElementInterface>) – The element type class
  • $sourceKey (string) – The element source key

Returns ​

array[]

getSourceTableAttributes() ​

Returns any table attributes that should be available for a given source, in addition to the common attributes.

View source

Arguments ​

  • $elementType (class-string<\craft\base\ElementInterface>) – The element type class
  • $sourceKey (string) – The element source key

Returns ​

array[]

getSources() ​

Returns the element index sources in the custom groupings/order.

View source

Arguments ​

  • $elementType (class-string<\craft\base\ElementInterface>) – The element type class
  • $context (string) – The context
  • $withDisabled (boolean) – Whether disabled sources should be included

Returns ​

array[]

getTableAttributes() ​

Returns the attributes that should be shown for a given element type source.

View source

Arguments ​

  • $elementType (class-string<\craft\base\ElementInterface>) – The element type class
  • $sourceKey (string) – The element type source key
  • $customAttributes (string[], null) – Custom attributes to show rather than the defaults

Returns ​

array[]

getTableAttributesForFieldLayouts() ​

Since
5.0.0

Returns any table attributes that should be available for an element index source that includes the given field layouts.

View source

Arguments ​

Returns ​

array[]

Constants ​

ConstantDescription
CONTEXT_FIELD
CONTEXT_INDEX
CONTEXT_MODAL
CONTEXT_SETTINGS
TYPE_CUSTOM
TYPE_HEADING
TYPE_NATIVE

Events ​

EVENT_DEFINE_SOURCE_SORT_OPTIONS ​

Type
craft\events\DefineSourceSortOptionsEvent

The event that is triggered when defining the available sort options for a source.


EVENT_DEFINE_SOURCE_TABLE_ATTRIBUTES ​

Type
craft\events\DefineSourceTableAttributesEvent

The event that is triggered when defining the available table attributes for a source.