public function buildOptionsForm(FormBuilderInterface $builder, array $options, WidgetInterface $originalData) { $strategy = $this->registry->getStrategy($originalData->getStrategyName()); // Add custom template override $builder->add('template', 'text', ['required' => true, 'help_block' => 'symedit.form.widget.options.template.help', 'constraints' => [new NotBlank()]]); $strategy->buildForm($builder); }
protected function getStrategy(WidgetInterface $widget) { return $this->registry->getStrategy($widget->getStrategyName()); }
/** * Initiates the Widget with the strategy default options. * * @param WidgetInterface $widget */ public function init(WidgetInterface $widget, array $options = []) { $resolver = new OptionsResolver(); $strategy = $this->getStrategy($widget->getStrategyName()); $strategy->getDefaultOptions($resolver); $resolvedOptions = $resolver->resolve($options); // Set options $widget->setOptions($resolvedOptions); }