/** * 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; }
/** * Generates the array of parameter to pass to the field template. * * @param \eZ\Publish\API\Repository\Values\Content\Content $content * @param \eZ\Publish\API\Repository\Values\Content\Field $field the Field to display * @param array $params An array of parameters to pass to the field view * * @return array */ private function getRenderFieldBlockParameters(Content $content, Field $field, array $params = []) { // Merging passed parameters to default ones $params += ['parameters' => [], 'attr' => []]; $versionInfo = $content->getVersionInfo(); $contentInfo = $versionInfo->getContentInfo(); $contentType = $this->contentTypeService->loadContentType($contentInfo->contentTypeId); $fieldDefinition = $contentType->getFieldDefinition($field->fieldDefIdentifier); // Adding Field, FieldSettings and ContentInfo objects to // parameters to be passed to the template $params += ['field' => $field, 'content' => $content, 'contentInfo' => $contentInfo, 'versionInfo' => $versionInfo, '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); } // make sure we can easily add class="<fieldtypeidentifier>-field" to the // generated HTML if (isset($params['attr']['class'])) { $params['attr']['class'] .= ' ' . $this->getFieldTypeIdentifier($content, $field) . '-field'; } else { $params['attr']['class'] = $this->getFieldTypeIdentifier($content, $field) . '-field'; } return $params; }