Skip to content

Merge fields and dataProcessing in JSON content #577

@dvdmlln

Description

@dvdmlln

Hi,

currently it is not possible to define fields and dataProcessing because dataProcessing overwrites the whole content.
For example I'd like to define add a flexform to a text field.

The typoscript looks like this:

tt_content.text {
    fields {
        content {
            fields {
                flexform {
                    dataProcessing {
                        10 = FriendsOfTYPO3\Headless\DataProcessing\FlexFormProcessor
                        10 {
                            fieldName = pi_flexform
                            as = flexform
                        }
                    }
                }
            }
        }
    }
}

and the JSON output:

"content": {
  "header": "header",
  "subheader": "",
  "headerLayout": 0,
  "headerPosition": "",
  "headerLink": "",
  "bodytext": "bodytext"
  "flexform": {
    "additionalData": "data"
  }
}

So I moved the dataProcessing one level up like this so additionalData property moves on level up:

tt_content.text {
    fields {
        content {
            dataProcessing {
                10 = FriendsOfTYPO3\Headless\DataProcessing\FlexFormProcessor
                10 {
                    fieldName = pi_flexform
                    as = flexform
                }
            }
        }
    }
}

This leads to the dataProcessing overwriting the whole content:

"content": {
  "additionalData": "data"
}

Are there any reasons not to merge the fields and dataProcessing? Or did I miss something and this is already possible?
In line 131 in FriendsOfTYPO3\Headless\ContentObject\JsonContentObject the fields are always overwritten if dataProcessing exists.
I'd be happy to create a PR if this is something to be considered.
If there would be any side effects, maybe this could be allowed with an flag in the json content object?

Best regards
David

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions