/**
* Generates the array of parameter to pass to the field template.
*
* @param \Netgen\EzPlatformSiteApi\API\Values\Field $field the Field to display
* @param array $params An array of parameters to pass to the field view
*
* @return array
*/
private function getRenderFieldBlockParameters(Field $field, array $params = [])
{
// Merging passed parameters to default ones
$params += ['parameters' => [], 'attr' => []];
$content = $field->content->innerContent;
$contentType = $field->content->contentInfo->innerContentType;
$fieldDefinition = $contentType->getFieldDefinition($field->fieldDefIdentifier);
$params += ['field' => $field->innerField, 'content' => $content, 'contentInfo' => $content->getVersionInfo()->getContentInfo(), 'versionInfo' => $content->getVersionInfo(), 'fieldSettings' => $fieldDefinition->getFieldSettings()];
// Adding field type specific parameters if any.
if ($this->parameterProviderRegistry->hasParameterProvider($fieldDefinition->fieldTypeIdentifier)) {
$params['parameters'] += $this->parameterProviderRegistry->getParameterProvider($fieldDefinition->fieldTypeIdentifier)->getViewParameters($field->innerField);
}
// make sure we can easily add class="<fieldtypeidentifier>-field" to the
// generated HTML
if (isset($params['attr']['class'])) {
$params['attr']['class'] .= " {$field->fieldTypeIdentifier}-field";
} else {
$params['attr']['class'] = "{$field->fieldTypeIdentifier}-field";
}
return $params;
}