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.
Public Methods ​
Method | Description |
---|---|
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.
Arguments ​
$query
(craft\elements\db\ElementQueryInterface) – The element query
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.
Returns ​
isFormattable()
​
- Since
- 3.6.0
Returns whether the response data can be formatted as CSV, JSON, or XML.
Returns ​
setElementType()
​
Sets the element type on the exporter.
Arguments ​
$elementType
(class-string<\craft\base\ElementInterface>
)