private function getFieldsData(Row $row, NodeInterface $node, $document, $fields, $templateKey, $webspaceKey, $locale)
{
$fieldsData = [];
foreach ($fields as $field) {
// determine target for data in result array
if (isset($field['target'])) {
if (!isset($fieldsData[$field['target']])) {
$fieldsData[$field['target']] = [];
}
$target =& $fieldsData[$field['target']];
} else {
$target =& $fieldsData;
}
// create target
if (!isset($target[$field['name']])) {
$target[$field['name']] = '';
}
if (($data = $this->getFieldData($field, $row, $node, $document, $templateKey, $webspaceKey, $locale)) !== null) {
$target[$field['name']] = $data;
}
}
return $fieldsData;
}