diff --git a/core/Controller/Setting/NavigationSettingAdminController.php b/core/Controller/Setting/NavigationSettingAdminController.php index 9ef22e3..24ecca0 100644 --- a/core/Controller/Setting/NavigationSettingAdminController.php +++ b/core/Controller/Setting/NavigationSettingAdminController.php @@ -26,11 +26,13 @@ class NavigationSettingAdminController extends AdminController Request $request ): Response { $builder = $this->createFormBuilder($entity); - - $eventDispatcher->dispatch(new NavigationSettingEvent([ + $event = new NavigationSettingEvent([ 'builder' => $builder, 'entity' => $entity, - ]), NavigationSettingEvent::FORM_INIT_EVENT); + 'options' => [], + ]); + + $eventDispatcher->dispatch($event, NavigationSettingEvent::FORM_INIT_EVENT); $form = $builder->getForm(); @@ -52,6 +54,7 @@ class NavigationSettingAdminController extends AdminController return $this->render('@Core/setting/navigation_setting_admin/edit.html.twig', [ 'form' => $form->createView(), 'entity' => $entity, + 'options' => $event->getData()['options'], ]); } diff --git a/core/Controller/Setting/SettingAdminController.php b/core/Controller/Setting/SettingAdminController.php index 1cb6ef9..e719b01 100644 --- a/core/Controller/Setting/SettingAdminController.php +++ b/core/Controller/Setting/SettingAdminController.php @@ -48,11 +48,13 @@ class SettingAdminController extends AdminController Request $request ): Response { $builder = $this->createFormBuilder($entity); - - $eventDispatcher->dispatch(new SettingEvent([ + $event = new SettingEvent([ 'builder' => $builder, 'entity' => $entity, - ]), SettingEvent::FORM_INIT_EVENT); + 'options' => [], + ]); + + $eventDispatcher->dispatch($event, SettingEvent::FORM_INIT_EVENT); $form = $builder->getForm(); @@ -72,6 +74,7 @@ class SettingAdminController extends AdminController return $this->render('@Core/setting/setting_admin/edit.html.twig', [ 'form' => $form->createView(), 'entity' => $entity, + 'options' => $event->getData()['options'], ]); } diff --git a/core/Event/Setting/NavigationSettingEvent.php b/core/Event/Setting/NavigationSettingEvent.php index 1611fcc..60133c7 100644 --- a/core/Event/Setting/NavigationSettingEvent.php +++ b/core/Event/Setting/NavigationSettingEvent.php @@ -25,4 +25,11 @@ class NavigationSettingEvent extends Event { return $this->data; } + + public function setOption(string $key, $value): self + { + $this->data['options'][$key] = $value; + + return $this; + } } diff --git a/core/Event/Setting/SettingEvent.php b/core/Event/Setting/SettingEvent.php index 065b426..f5a8805 100644 --- a/core/Event/Setting/SettingEvent.php +++ b/core/Event/Setting/SettingEvent.php @@ -25,4 +25,11 @@ class SettingEvent extends Event { return $this->data; } + + public function setOption(string $key, $value): self + { + $this->data['options'][$key] = $value; + + return $this; + } } diff --git a/core/Resources/views/setting/navigation_setting_admin/edit.html.twig b/core/Resources/views/setting/navigation_setting_admin/edit.html.twig index 03ac5d8..4a05a3a 100644 --- a/core/Resources/views/setting/navigation_setting_admin/edit.html.twig +++ b/core/Resources/views/setting/navigation_setting_admin/edit.html.twig @@ -1,4 +1,4 @@ -