protected function getFieldDefault(NodeInterface $node, $entityType, $bundle, $fieldName, Context $context) { /* @var $node ViewNode */ $entityType = $node->getEntityType(); $bundle = $node->getBundle(); $default = array('type' => 'hidden', 'label' => 'hidden', 'settings' => array()); if (!($field = field_info_field($fieldName))) { // @todo Should we warn? This is surely an extra field. return $default; } if (!($field = field_info_field_types($field['type']))) { $context->logError("%s: %s field type does not exist", $node->getPath(), $field['types']); return $default; } $formatter = null; if (!empty($field['default_formatter'])) { $formatter = $field['default_formatter']; if (!field_info_formatter_types($formatter)) { $context->logWarning(sprintf("%s: field %s defines non existing default formatter: %s", $node->getPath(), $fieldName, $formatter)); $formatter = null; } } if ($formatter) { $default = array('type' => $formatter, 'label' => 'hidden', 'settings' => field_info_formatter_settings($formatter)); } return $default; }