public function handlePreIndex(PreIndexEvent $e)
{
$metadata = $e->getMetadata();
$document = $e->getDocument();
$subject = $e->getSubject();
$evaluator = $e->getFieldEvaluator();
if (false === $metadata->getClassMetadata()->reflection->isSubclassOf(StructureBehavior::class)) {
return;
}
if (!($imageUrlField = $metadata->getImageUrlField())) {
return;
}
$data = $evaluator->getValue($subject, $imageUrlField);
$locale = $subject->getLocale();
if (!$data) {
$document->setImageUrl(null);
return;
}
$imageUrl = $this->getImageUrl($data, $locale);
$document->setImageUrl($imageUrl);
}