/** * {@inheritdoc} */ public function beforeValueRender(ValueRenderEvent $event) { $value = $event->getFieldValue(); $type = $event->getFieldConfigId()->getFieldType(); /** Prepare Relation field type */ if ($value && $value instanceof Collection) { $viewData = $this->getValueForCollection($value, $event->getFieldConfigId()); $event->setFieldViewValue($viewData); return; } if ($value && in_array($type, RelationType::$toOneRelations)) { $viewData = $this->getValueForSingleRelation($value, $event->getFieldConfigId()); $event->setFieldViewValue($viewData); } }
/** * {@inheritdoc} */ public function beforeValueRender(ValueRenderEvent $event) { $value = $event->getFieldValue(); $type = $event->getFieldConfigId()->getFieldType(); /** Prepare Relation field type */ if ($value && $value instanceof Collection) { $viewData = $this->getValueForCollection($value, $event->getFieldConfigId()); $event->setFieldViewValue($viewData); return; } $underlyingFieldType = $this->fieldTypeHelper->getUnderlyingType($type); if ($value && $underlyingFieldType === RelationType::MANY_TO_ONE) { $viewData = $this->getValueForManyToOne($value, $this->extendProvider->getConfigById($event->getFieldConfigId())); $event->setFieldViewValue($viewData); } }
/** * {@inheritdoc} */ public function beforeValueRender(ValueRenderEvent $event) { $fieldConfig = $this->configProvider->getConfigById($event->getFieldConfigId()); $contactInformationType = $fieldConfig->get('contact_information'); // if some contact information type is defined -- applies proper template for its value if (null !== $contactInformationType && isset($this->contactInformationMap[$contactInformationType])) { $event->setFieldViewValue(['value' => $event->getFieldValue(), 'entity' => $event->getEntity(), 'template' => $this->contactInformationMap[$contactInformationType]]); } }