/** * {@inheritdoc} */ protected function getFormOptions() { $attribute = $this->getAttribute(); $referenceDataName = $attribute->getReferenceDataName(); $referenceData = $this->registry->get($referenceDataName); if (null === $referenceData) { throw new \InvalidArgumentException(sprintf('Reference data "%s" does not exist', $referenceDataName)); } return array_merge(parent::getFormOptions(), ['choice_url_params' => ['class' => $referenceData->getClass(), 'dataLocale' => $this->userContext->getCurrentLocaleCode(), 'collectionId' => $attribute->getId()]]); }
/** * Constructor * * @param FormFactoryInterface $factory * @param ProductFilterUtility $util * @param UserContext $userContext * @param AttributeRepositoryInterface $attributeRepository * @param ConfigurationRegistryInterface $registry */ public function __construct(FormFactoryInterface $factory, ProductFilterUtility $util, UserContext $userContext, AttributeRepositoryInterface $attributeRepository, ConfigurationRegistryInterface $registry) { parent::__construct($factory, $util, $userContext, null, $attributeRepository); $this->registry = $registry; }