* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShopBundle\Form\Admin\Extension; use Symfony\Component\Form\AbstractTypeExtension; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; use Symfony\Component\OptionsResolver\OptionsResolver; class MultistoreExtension extends AbstractTypeExtension { /** * {@inheritdoc} */ public static function getExtendedTypes(): iterable { return [FormType::class]; } /** * @param FormView $view * @param FormInterface $form * @param array $options */ public function buildView(FormView $view, FormInterface $form, array $options): void { parent::buildView($view, $form, $options); $view->vars = array_replace($view->vars, ['multistore_dropdown' => $options['multistore_dropdown']]); } /** * @param OptionsResolver $resolver */ public function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); $resolver->setDefaults( [ 'multistore_dropdown' => false, 'multistore_configuration_key' => null, ] ); } }