/** * {@inheritdoc} */ public function setLanguageCode($languageCode, $languageNamespace, $namespace) { // lazy load excerpt structure to avoid redeclaration of classes // should be done before parent::setLanguageCode because it uses the $thi<->properties // which will be set in initExcerptStructure if ($this->excerptStructure === null) { $this->initProperties(); } $this->languageCode = $languageCode; parent::setLanguageCode($languageCode, $languageNamespace, $namespace); $this->languageNamespace = $languageNamespace; }
/** * {@inheritdoc} */ public function getFieldMapping() { $mappings = parent::getFieldMapping(); foreach ($this->getExcerptStructure()->getPropertiesByTagName('sulu.search.field') as $property) { $tag = $property->getTag('sulu.search.field'); $tagAttributes = $tag->getAttributes(); $mappings['excerpt' . ucfirst($property->getName())] = ['type' => isset($tagAttributes['type']) ? $tagAttributes['type'] : 'string', 'field' => $this->factory->createMetadataExpression(sprintf('object.getExtensionsData()["excerpt"]["%s"]', $property->getName()))]; } return $mappings; }