/** * {@inheritDoc} */ public function getMetadataForDocument(Document $document) { if (!$document->hasField(self::FIELD_STRUCTURE_TYPE)) { return; } $className = $document->getClass(); $structureType = $document->getField(self::FIELD_STRUCTURE_TYPE)->getValue(); $documentMetadata = $this->metadataFactory->getMetadataForClass($className); $structure = $this->structureFactory->getStructureMetadata($documentMetadata->getAlias(), $structureType); return $this->getMetadata($documentMetadata, $structure); }
/** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolverInterface $options) { $metadata = $this->metadataFactory->getMetadataForAlias('page'); $options->setDefaults(['data_class' => $metadata->getClass()]); parent::setDefaultOptions($options); }