All Classes Namespaces Files Functions Variables Pages
CommaSeparatedValueProcessor Class Reference
Inheritance diagram for CommaSeparatedValueProcessor:

Public Member Functions

 process (ContentObjectRenderer $cObj, array $contentObjectConfiguration, array $processorConfiguration, array $processedData)

Detailed Description

This data processor will take field data formatted as a string, where each line, separated by line feed, represents a row. By default columns are separated by the delimiter character "comma ,", and can be enclosed by the character 'quotation mark "', like the default in a regular CSV file.

An example of such a field is "bodytext" in the CType "table".

The table data is transformed to a multi dimensional array, taking the delimiter and enclosure into account, before it is passed to the view.

Example field data:

This is row 1 column 1|This is row 1 column 2|This is row 1 column 3 This is row 2 column 1|This is row 2 column 2|This is row 2 column 3 This is row 3 column 1|This is row 3 column 2|This is row 3 column 3

Example TypoScript configuration:

10 = TYPO3 10 { if.isTrue.field = bodytext fieldName = bodytext fieldDelimiter = | fieldEnclosure = maximumColumns = 2 as = table }

whereas "table" can be used as a variable {table} inside Fluid for iteration.

Using maximumColumns limits the amount of columns in the multi dimensional array. In the example, field data of the last column will be stripped off.

Multi line cells are taken into account.

Definition at line 56 of file CommaSeparatedValueProcessor.php.

Member Function Documentation

process ( ContentObjectRenderer  $cObj,
array  $contentObjectConfiguration,
array  $processorConfiguration,
array  $processedData 

Process CSV field data to split into a multi dimensional array

ContentObjectRenderer$cObjThe data of the content element or page
array$contentObjectConfigurationThe configuration of Content Object
array$processorConfigurationThe configuration of this processor
array$processedDataKey/value store of processed data (e.g. to be passed to a Fluid View)
array the processed data as key/value store

Implements DataProcessorInterface.

Definition at line 67 of file CommaSeparatedValueProcessor.php.

References ContentObjectRenderer\checkIf(), CsvUtility\csvToArray(), and ContentObjectRenderer\stdWrapValue().