/** * Adds processor settings to shipping method form * * @param FormEvent $event */ public function onShippingMethodFormInit(FormEvent $event) { $form = $event->getForm(); $calculators = $this->getCalculators(); $calculatorTypeSelect = $this->getCalculatorTypeElement($form); foreach ($calculators as $calculator) { $calculatorTypeSelect->addOptionToSelect($calculator->getAlias(), $calculator->getName()); } }
/** * Adds configurator fields to main layout box edit form. * Loops through all configurators, renders the fieldset and sets default data * * @param FormEvent $event */ public function onLayoutBoxFormInit(FormEvent $event) { $builder = $event->getFormBuilder(); $form = $event->getForm(); $resource = $form->getModelData(); $configurators = $this->container->get('layout_box.configurator.collection')->all(); $boxSettings = $resource->getSettings(); foreach ($configurators as $configurator) { if ($configurator instanceof LayoutBoxConfiguratorInterface) { $defaults = []; if ($resource->getBoxType() == $configurator->getType()) { $defaults = $boxSettings; } $configurator->addFormFields($builder, $form, $defaults); } } }