getElasticSearchOptions(); $form = $this->getConfigurationForm($options); $form->handleRequest($request); if ($form->isValid()) { $this->saveElasticSearchOptions($form->getData()); return $this->app->redirectPath('admin_searchengine_form'); } return $this->render('admin/search-engine/elastic-search.html.twig', [ 'form' => $form->createView(), ]); } /** * @return GlobalElasticOptions */ private function getElasticSearchOptions() { return $this->app['elasticsearch.options']; } /** * @param GlobalElasticOptions $configuration * @return void */ private function saveElasticSearchOptions(GlobalElasticOptions $configuration) { $this->getConf()->set(['main', 'search-engine', 'options'], $configuration->toArray()); } /** * @param GlobalElasticOptions $options * @return FormInterface */ private function getConfigurationForm(GlobalElasticOptions $options) { return $this->app->form(new ElasticSearchSettingFormType(), $options, [ 'action' => $this->app->url('admin_searchengine_form'), ]); } }