Skip to content

ElementExporterInterface ​

Type
Interface
Namespace
craft\base
Extends
craft\base\ComponentInterface
Implemented by
craft\base\ElementExporter, craft\elements\exporters\Expanded, craft\elements\exporters\Raw
Since
3.4.0

ElementExporterInterface defines the common interface to be implemented by element exporter classes.

View source

Public Methods ​

MethodDescription
displayName()Returns the display name of this class.
export()Creates the export data for elements fetched with the given element query.
extraFields()Returns the list of additional fields that can be returned by toArray() in addition to those listed in fields().
fields()Returns the list of fields that should be returned by default by toArray() when no specific fields are specified.
getFilename()Returns the filename that the export file should have.
instance()Returns static class instance, which can be used to obtain meta information.
isFormattable()Returns whether the response data can be formatted as CSV, JSON, or XML.
isSelectable()Returns whether the component should be selectable in component Type selects.
setElementType()Sets the element type on the exporter.
toArray()Converts the object into an array.

export() ​

Creates the export data for elements fetched with the given element query.

If isFormattable() returns true, then this must return one of the followings:

  • An array of arrays
  • A callable that returns an array of arrays
  • A generator function that yields arrays.

Otherwise, a string or resource could also be returned.

View source

Arguments ​

Returns ​

array, string, callable, resource

getFilename() ​

Returns the filename that the export file should have.

If the data is formattable, then a file extension will be added based on the selected format.

View source

Returns ​

string

isFormattable() ​

Since
3.6.0

Returns whether the response data can be formatted as CSV, JSON, or XML.

View source

Returns ​

boolean

setElementType() ​

Sets the element type on the exporter.

View source

Arguments ​

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