public function getFieldsCollection() : Collection { $accessor = PropertyAccess::createPropertyAccessor(); $fields = new ArrayCollection(); $translations = $this->product->getTranslations(); foreach ($translations as $locale => $translation) { $fields->add(new SearchField('name_' . $locale, $accessor->getValue($translation, 'name'))); $fields->add(new SearchField('description_' . $locale, $accessor->getValue($translation, 'description'))); $fields->add(new SearchField('short_description' . $locale, $accessor->getValue($translation, 'shortDescription'))); } $fields->add(new SearchField('sku', $this->product->getSku())); return $fields; }